Class: Ougai::Logger
- Inherits:
-
Logger
- Object
- Logger
- Ougai::Logger
- Includes:
- Logging
- Defined in:
- lib/ougai/logger.rb
Overview
Main Logger
Constant Summary
Constants included from Ougai::Logging::Severity
Ougai::Logging::Severity::SEV_LABEL, Ougai::Logging::Severity::TRACE
Instance Attribute Summary collapse
-
#before_log ⇒ Proc
Hook before logging.
-
#default_message ⇒ String
Use this if log message is not specified (by default this is ‘No message’).
-
#exc_key ⇒ String
The field name of Exception (by default this is :err).
-
#with_fields ⇒ Hash
The fields appending to all logs.
Class Method Summary collapse
-
.broadcast(logger) ⇒ Object
Broadcasts the same logs to the another logger.
Instance Method Summary collapse
- #chain(severity, args, fields, hooks) ⇒ Object
-
#initialize(*args) ⇒ Logger
constructor
A new instance of Logger.
- #level=(severity) ⇒ Object
Methods included from Logging
#child, #debug, #error, #fatal, #info, #trace, #trace?, #unknown, #warn
Methods included from Ougai::Logging::Severity
Constructor Details
#initialize(*args) ⇒ Logger
Returns a new instance of Logger.
14 15 16 17 18 19 20 21 |
# File 'lib/ougai/logger.rb', line 14 def initialize(*args) super(*args) @before_log = nil @default_message = 'No message' @exc_key = :err @with_fields = {} @formatter = create_formatter end |
Instance Attribute Details
#before_log ⇒ Proc
Hook before logging.
9 10 11 |
# File 'lib/ougai/logger.rb', line 9 def before_log @before_log end |
#default_message ⇒ String
Use this if log message is not specified (by default this is ‘No message’).
9 10 11 |
# File 'lib/ougai/logger.rb', line 9 def @default_message end |
#exc_key ⇒ String
The field name of Exception (by default this is :err).
9 10 11 |
# File 'lib/ougai/logger.rb', line 9 def exc_key @exc_key end |
#with_fields ⇒ Hash
The fields appending to all logs.
9 10 11 |
# File 'lib/ougai/logger.rb', line 9 def with_fields @with_fields end |
Class Method Details
.broadcast(logger) ⇒ Object
Broadcasts the same logs to the another logger
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/ougai/logger.rb', line 25 def self.broadcast(logger) Module.new do |mdl| Logger::Severity.constants.each do |severity| method_name = severity.downcase.to_sym mdl.send(:define_method, method_name) do |*args| logger.send(method_name, *args) super(*args) end end define_method(:level=) do |level| logger.level = level super(level) end define_method(:close) do logger.close super() end end end |
Instance Method Details
#chain(severity, args, fields, hooks) ⇒ Object
63 64 65 66 |
# File 'lib/ougai/logger.rb', line 63 def chain(severity, args, fields, hooks) hooks.push(@before_log) if @before_log write(severity, args, weak_merge!(fields, @with_fields), hooks) end |
#level=(severity) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/ougai/logger.rb', line 48 def level=(severity) if severity.is_a?(Integer) @level = severity return end if severity.to_s.downcase == 'trace' @level = TRACE return end super end |