Module: PostHog::Rails::Logs::Severity Private
- Defined in:
- lib/posthog/rails/logs/severity.rb
Overview
This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.
Maps Ruby Logger severities to OpenTelemetry log severity numbers and text.
OpenTelemetry defines severity ranges (DEBUG=5-8, INFO=9-12, WARN=13-16, ERROR=17-20, FATAL=21-24); we map each Ruby level to the base of its range.
Constant Summary collapse
- NAMES =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
{ ::Logger::DEBUG => :debug, ::Logger::INFO => :info, ::Logger::WARN => :warn, ::Logger::ERROR => :error, ::Logger::FATAL => :fatal, ::Logger::UNKNOWN => :info }.freeze
- OTEL =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
{ debug: [5, 'DEBUG'], info: [9, 'INFO'], warn: [13, 'WARN'], error: [17, 'ERROR'], fatal: [21, 'FATAL'] }.freeze
Class Method Summary collapse
-
.for_name(name) ⇒ Array(Integer, String)
private
OpenTelemetry severity number and text; unrecognized names fall back to INFO.
-
.name_for(severity) ⇒ Symbol
private
The severity name (:debug, :info, :warn, :error, :fatal).
Class Method Details
.for_name(name) ⇒ Array(Integer, String)
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns OpenTelemetry severity number and text; unrecognized names fall back to INFO.
26 27 28 |
# File 'lib/posthog/rails/logs/severity.rb', line 26 def for_name(name) OTEL.fetch(name.to_s.downcase.to_sym, OTEL[:info]) end |
.name_for(severity) ⇒ Symbol
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns The severity name (:debug, :info, :warn, :error, :fatal).
19 20 21 |
# File 'lib/posthog/rails/logs/severity.rb', line 19 def name_for(severity) NAMES.fetch(severity, :info) end |