Class: EventHub::Components::Logger
- Inherits:
-
Object
- Object
- EventHub::Components::Logger
- Defined in:
- lib/eventhub/components/logger.rb
Class Method Summary collapse
- .logstash(processor_name, environment) ⇒ Object
- .logstash_cloud(processor_name, environment) ⇒ Object
- .stdout ⇒ Object
Class Method Details
.logstash(processor_name, environment) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/eventhub/components/logger.rb', line 11 def self.logstash(processor_name, environment) # configure logstash with custom fields LogStashLogger.configure do |config| config.customize_event do |event| event["app_name"] = processor_name event["env"] = environment end end LogStashLogger.new([{type: :file, path: "logs/ruby/#{processor_name}.log", sync: true}]) end |
.logstash_cloud(processor_name, environment) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/eventhub/components/logger.rb', line 22 def self.logstash_cloud(processor_name, environment) # configure logstash with custom fields LogStashLogger.configure do |config| config.customize_event do |event| # renaming default fields to be eventhub cloud compatible event["time"] = event..iso8601(6) event["msg"] = event.remove("message") event["level"] = event.remove("severity") event["host"] = event.remove("host") # for reordering # to be removed or replaced event.remove("@version") event.remove("@timestamp") # additional fields event["app"] = processor_name event["env"] = environment end end LogStashLogger.new([{type: :stdout}]) end |
.stdout ⇒ Object
2 3 4 5 6 7 8 9 |
# File 'lib/eventhub/components/logger.rb', line 2 def self.stdout logger = Logger.new($stdout) logger.formatter = proc do |severity, time, progname, msg| time_in_string = "#{time.strftime("%Y-%m-%d %H:%M:%S")}.#{"%04d" % (time.usec / 100)}" "#{time_in_string}: #{"%10s" % severity} - #{msg}\n" end logger end |