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 |