Module: Telemetry::Logger::Builder
- Included in:
- Telemetry::Logger
- Defined in:
- lib/telemetry/logger/builder.rb
Instance Method Summary collapse
- #format(include_pid: false) ⇒ Object
- #level ⇒ Object
- #log ⇒ Object
- #log_level=(level) ⇒ Object
- #opts ⇒ Object
- #output(**options) ⇒ Object
Instance Method Details
#format(include_pid: false) ⇒ Object
10 11 12 13 14 15 16 17 |
# 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 ⇒ Object
33 34 35 |
# File 'lib/telemetry/logger/builder.rb', line 33 def level log.level end |
#log ⇒ Object
19 20 21 |
# File 'lib/telemetry/logger/builder.rb', line 19 def log @log ||= output(**opts) end |
#log_level=(level) ⇒ Object
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
# 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 ⇒ Object
6 7 8 |
# File 'lib/telemetry/logger/builder.rb', line 6 def opts @opts ||= {} end |
#output(**options) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/telemetry/logger/builder.rb', line 23 def output(**) return @log unless @log.nil? @log = ::Logger.new([:log_file] || $stdout) self.log_level = [:level] if .key? :level self.format @log end |