Class: DataRedactor::Integrations::Logger
- Inherits:
-
Object
- Object
- DataRedactor::Integrations::Logger
- Defined in:
- lib/data_redactor/integrations/logger.rb
Overview
Logger formatter that runs every log message through DataRedactor.redact before delegating to an inner formatter.
Instance Method Summary collapse
-
#call(severity, time, progname, msg) ⇒ Object
Formatter contract — called by Logger for every emitted line.
-
#initialize(inner: ::Logger::Formatter.new, only: nil, except: nil, placeholder: DataRedactor::PLACEHOLDER_DEFAULT) ⇒ Logger
constructor
A new instance of Logger.
Constructor Details
#initialize(inner: ::Logger::Formatter.new, only: nil, except: nil, placeholder: DataRedactor::PLACEHOLDER_DEFAULT) ⇒ Logger
Returns a new instance of Logger.
25 26 27 28 29 30 |
# File 'lib/data_redactor/integrations/logger.rb', line 25 def initialize(inner: ::Logger::Formatter.new, only: nil, except: nil, placeholder: DataRedactor::PLACEHOLDER_DEFAULT) @inner = inner @only = only @except = except @placeholder = placeholder end |
Instance Method Details
#call(severity, time, progname, msg) ⇒ Object
Formatter contract — called by Logger for every emitted line. Lets the inner formatter render whatever it likes (string, exception, arbitrary object) and scrubs the resulting line in one pass. Keeps the exception cause chain intact so downstream formatters still see it.
36 37 38 39 |
# File 'lib/data_redactor/integrations/logger.rb', line 36 def call(severity, time, progname, msg) line = @inner.call(severity, time, progname, msg) DataRedactor.redact(line.to_s, only: @only, except: @except, placeholder: @placeholder) end |