Class: BrainzLab::Recall::Logger
- Inherits:
-
Logger
- Object
- Logger
- BrainzLab::Recall::Logger
- Defined in:
- lib/brainzlab/recall/logger.rb
Instance Attribute Summary collapse
-
#broadcast_to ⇒ Object
Returns the value of attribute broadcast_to.
Instance Method Summary collapse
- #add(severity, message = nil, progname = nil) ⇒ Object
- #close ⇒ Object
- #debug(message = nil) ⇒ Object
- #error(message = nil) ⇒ Object
- #fatal(message = nil) ⇒ Object
- #flush ⇒ Object
- #info(message = nil) ⇒ Object
-
#initialize(service_name = nil, broadcast_to: nil) ⇒ Logger
constructor
A new instance of Logger.
-
#silence(severity = ::Logger::ERROR) ⇒ Object
Rails compatibility methods.
- #tagged(*tags) ⇒ Object
- #unknown(message = nil) ⇒ Object
- #warn(message = nil) ⇒ Object
Constructor Details
#initialize(service_name = nil, broadcast_to: nil) ⇒ Logger
Returns a new instance of Logger.
10 11 12 13 14 15 16 |
# File 'lib/brainzlab/recall/logger.rb', line 10 def initialize(service_name = nil, broadcast_to: nil) super(nil) @service_name = service_name @broadcast_to = broadcast_to @level = ::Logger::DEBUG @formatter = proc { |_severity, _time, _progname, msg| msg } end |
Instance Attribute Details
#broadcast_to ⇒ Object
Returns the value of attribute broadcast_to.
8 9 10 |
# File 'lib/brainzlab/recall/logger.rb', line 8 def broadcast_to @broadcast_to end |
Instance Method Details
#add(severity, message = nil, progname = nil) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/brainzlab/recall/logger.rb', line 18 def add(severity, = nil, progname = nil) severity ||= ::Logger::UNKNOWN # Handle block-based messages = yield if .nil? && block_given? # Handle progname as message (standard Logger behavior) if .nil? = progname progname = nil end # Broadcast to original logger if configured @broadcast_to&.add(severity, , progname) # Skip if below configured level return true if severity < @level level = severity_to_level(severity) return true unless BrainzLab.configuration.level_enabled?(level) # Extract structured data if message is a hash data = {} if .is_a?(Hash) data = .dup = data.delete(:message) || data.delete(:msg) || data.to_s end data[:service] = @service_name if @service_name data[:progname] = progname if progname Recall.log(level, .to_s, **data) true end |
#close ⇒ Object
98 99 100 |
# File 'lib/brainzlab/recall/logger.rb', line 98 def close flush end |
#debug(message = nil) ⇒ Object
53 54 55 |
# File 'lib/brainzlab/recall/logger.rb', line 53 def debug( = nil, &) add(::Logger::DEBUG, , &) end |
#error(message = nil) ⇒ Object
65 66 67 |
# File 'lib/brainzlab/recall/logger.rb', line 65 def error( = nil, &) add(::Logger::ERROR, , &) end |
#fatal(message = nil) ⇒ Object
69 70 71 |
# File 'lib/brainzlab/recall/logger.rb', line 69 def fatal( = nil, &) add(::Logger::FATAL, , &) end |
#flush ⇒ Object
94 95 96 |
# File 'lib/brainzlab/recall/logger.rb', line 94 def flush Recall.flush end |
#info(message = nil) ⇒ Object
57 58 59 |
# File 'lib/brainzlab/recall/logger.rb', line 57 def info( = nil, &) add(::Logger::INFO, , &) end |
#silence(severity = ::Logger::ERROR) ⇒ Object
Rails compatibility methods
78 79 80 81 82 83 84 |
# File 'lib/brainzlab/recall/logger.rb', line 78 def silence(severity = ::Logger::ERROR) old_level = @level @level = severity yield self ensure @level = old_level end |
#tagged(*tags) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/brainzlab/recall/logger.rb', line 86 def tagged(*) if block_given? BrainzLab.with_context(tags: ) { yield self } else self end end |
#unknown(message = nil) ⇒ Object
73 74 75 |
# File 'lib/brainzlab/recall/logger.rb', line 73 def unknown( = nil, &) add(::Logger::UNKNOWN, , &) end |
#warn(message = nil) ⇒ Object
61 62 63 |
# File 'lib/brainzlab/recall/logger.rb', line 61 def warn( = nil, &) add(::Logger::WARN, , &) end |