Class: TIMEx::Telemetry::Adapters::Logger
- Defined in:
- lib/timex/telemetry/adapters.rb
Overview
Emits a single structured log line per #finish with a conservative key allowlist.
Constant Summary collapse
- DEFAULT_SAFE_KEYS =
Keys considered safe to log by default. Application-supplied data like
headersor block arguments are excluded to avoid leaking secrets/PII through structured logs.originis whitelisted because Deadline.from_header enforcesORIGIN_PATTERNso the value can only be[A-Za-z0-9_.-]+. Passextra_keys:to include additional whitelisted keys. %i[event strategy outcome deadline_ms elapsed_ms error_class soft_ms grace_ms estimate_ms budget_ms soft_timeout hard_timeout depth skew_ms origin reason].freeze
Instance Method Summary collapse
- #finish(event:, payload:) ⇒ void
-
#initialize(logger, extra_keys: []) ⇒ Logger
constructor
A new instance of Logger.
Methods inherited from Base
Constructor Details
#initialize(logger, extra_keys: []) ⇒ Logger
Returns a new instance of Logger.
56 57 58 59 60 |
# File 'lib/timex/telemetry/adapters.rb', line 56 def initialize(logger, extra_keys: []) super() @logger = logger @safe_keys = (DEFAULT_SAFE_KEYS + Array(extra_keys).map(&:to_sym)).uniq.freeze end |
Instance Method Details
#finish(event:, payload:) ⇒ void
This method returns an undefined value.
65 66 67 |
# File 'lib/timex/telemetry/adapters.rb', line 65 def finish(event:, payload:) @logger.info("[timex] #{event} #{filtered(payload).inspect}") end |