module Telemetry::Logger::Builder
Public Instance Methods
format(include_pid: false, **)
click to toggle source
# File lib/telemetry/logger/builder.rb, line 10 def format(include_pid: false, **) log.formatter = proc do |severity, datetime, _progname, msg| string = "[#{datetime}]" string.concat("[#{::Process.pid}]") if include_pid string.concat(" #{severity} #{msg}\n") string end end
level()
click to toggle source
# File lib/telemetry/logger/builder.rb, line 33 def level log.level end
log()
click to toggle source
# File lib/telemetry/logger/builder.rb, line 19 def log @log ||= output(**opts) end
log_level=(level)
click to toggle source
# File lib/telemetry/logger/builder.rb, line 37 def log_level=(level) log.level = case level when 'trace', 'debug' ::Logger::DEBUG when 'info' ::Logger::INFO when 'warn' ::Logger::WARN when 'error' ::Logger::ERROR when 'fatal' ::Logger::FATAL when nil 42 else if level.is_a? Integer level else 0 end end @log = log end
opts()
click to toggle source
# File lib/telemetry/logger/builder.rb, line 6 def opts @opts ||= {} end
output(**options)
click to toggle source
# File lib/telemetry/logger/builder.rb, line 23 def output(**options) return @log unless @log.nil? @log = ::Logger.new(options[:log_file] || $stdout) self.log_level = options[:level] if options.key? :level self.format @log end