From 66893c020ff12941ec13ae801241247dbd578560 Mon Sep 17 00:00:00 2001 From: Dan Ungureanu Date: Tue, 18 Feb 2020 13:37:39 +0200 Subject: [PATCH] FIX: Use 'hostname' when Discourse.os_hostname is not available This may be the case when DiscourseLogstashLogger is initialized before the application (see unicorn.conf.rb) This commit is a follow-up to 28292d275994145c8e295470dee6627bfd84c936. Co-authored-by: David Taylor Co-authored-by: Sam Saffron --- lib/discourse_logstash_logger.rb | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/discourse_logstash_logger.rb b/lib/discourse_logstash_logger.rb index ba02b31935c..ee1b739133d 100644 --- a/lib/discourse_logstash_logger.rb +++ b/lib/discourse_logstash_logger.rb @@ -4,11 +4,19 @@ require 'logstash-logger' class DiscourseLogstashLogger def self.logger(uri:, type:) + # See Discourse.os_hostname + hostname = begin + require 'socket' + Socket.gethostname + rescue => e + `hostname`.chomp + end + LogStashLogger.new( uri: uri, sync: true, customize_event: ->(event) { - event['hostname'] = Discourse.os_hostname + event['hostname'] = hostname event['severity_name'] = event['severity'] event['severity'] = Object.const_get("Logger::Severity::#{event['severity']}") event['type'] = type