class RailwayIpc::Logger
Custom logger that accepts a `device`, `level`, and `formatter`. `formatter` can be any object that responds to `call`; a `Logger::Formatter` is used if the argument is not provided.
Here is an example formatter that uses `Oj` to format structured log messages:
require 'oj' OjFormatter = proc do |severity, datetime, progname, data|
data.merge!( name: progname, timestamp: datetime, severity: severity ) Oj.dump(data, { mode: :compat, time_format: :xmlschema })
end
logger = RailwayIpc::Logger.new
(STDOUT, Logger::INFO, OjFormatter)
Attributes
logger[R]
Public Class Methods
new(device=$stdout, level=::Logger::INFO, formatter=nil)
click to toggle source
# File lib/railway_ipc/logger.rb, line 24 def initialize(device=$stdout, level=::Logger::INFO, formatter=nil) @logger = ::Logger.new(device) @logger.level = level @logger.formatter = formatter if formatter end