Class: Tempest::DebugLog::Channel
- Inherits:
-
Object
- Object
- Tempest::DebugLog::Channel
- Defined in:
- lib/tempest/debug_log.rb
Instance Attribute Summary collapse
-
#loggers ⇒ Object
readonly
Returns the value of attribute loggers.
Instance Method Summary collapse
- #close ⇒ Object
- #debug(mod, event:, **fields) ⇒ Object
- #error(mod, event:, **fields) ⇒ Object
- #info(mod, event:, **fields) ⇒ Object
-
#initialize(loggers:, defaults: {}) ⇒ Channel
constructor
A new instance of Channel.
- #warn(mod, event:, **fields) ⇒ Object
-
#with(**default_fields) ⇒ Object
Returns a child channel that prepends ‘default_fields` to every subsequent log call.
Constructor Details
#initialize(loggers:, defaults: {}) ⇒ Channel
Returns a new instance of Channel.
130 131 132 133 |
# File 'lib/tempest/debug_log.rb', line 130 def initialize(loggers:, defaults: {}) @loggers = Array(loggers) @defaults = defaults.freeze end |
Instance Attribute Details
#loggers ⇒ Object (readonly)
Returns the value of attribute loggers.
128 129 130 |
# File 'lib/tempest/debug_log.rb', line 128 def loggers @loggers end |
Instance Method Details
#close ⇒ Object
160 161 162 163 164 165 166 167 168 169 |
# File 'lib/tempest/debug_log.rb', line 160 def close @loggers.each do |logger| begin logger.close rescue StandardError # Best-effort: a half-built or already-closed logger should not # take down shutdown. end end end |
#debug(mod, event:, **fields) ⇒ Object
139 140 141 |
# File 'lib/tempest/debug_log.rb', line 139 def debug(mod, event:, **fields) emit(Logger::DEBUG, mod, event, fields) end |
#error(mod, event:, **fields) ⇒ Object
147 148 149 |
# File 'lib/tempest/debug_log.rb', line 147 def error(mod, event:, **fields) emit(Logger::ERROR, mod, event, fields) end |
#info(mod, event:, **fields) ⇒ Object
135 136 137 |
# File 'lib/tempest/debug_log.rb', line 135 def info(mod, event:, **fields) emit(Logger::INFO, mod, event, fields) end |
#warn(mod, event:, **fields) ⇒ Object
143 144 145 |
# File 'lib/tempest/debug_log.rb', line 143 def warn(mod, event:, **fields) emit(Logger::WARN, mod, event, fields) end |
#with(**default_fields) ⇒ Object
Returns a child channel that prepends ‘default_fields` to every subsequent log call. Used to attach per-session context such as `did=` to long-lived components (StreamManager, Watchdog) without sprinkling the field across every call site.
155 156 157 158 |
# File 'lib/tempest/debug_log.rb', line 155 def with(**default_fields) return self if default_fields.empty? Channel.new(loggers: @loggers, defaults: @defaults.merge(default_fields)) end |