Class: Sentry::StructuredLogger
- Inherits:
-
Object
- Object
- Sentry::StructuredLogger
- Defined in:
- lib/sentry/structured_logger.rb
Overview
The StructuredLogger class implements Sentry’s SDK telemetry logs protocol. It provides methods for logging messages at different severity levels and sending them to Sentry with structured data.
This class follows the Sentry Logs Protocol as defined in: develop.sentry.dev/sdk/telemetry/logs/
Constant Summary collapse
- LEVELS =
Severity number mapping for log levels according to the Sentry Logs Protocol
{ trace: 1, debug: 5, info: 9, warn: 13, error: 17, fatal: 21 }.freeze
Instance Method Summary collapse
-
#debug(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at DEBUG level.
-
#error(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at ERROR level.
-
#fatal(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at FATAL level.
-
#info(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at INFO level.
-
#initialize(config) ⇒ StructuredLogger
constructor
Initializes a new StructuredLogger instance.
-
#log(level, message, parameters:, **attributes) ⇒ LogEvent?
Logs a message at the specified level.
-
#trace(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at TRACE level.
-
#warn(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at WARN level.
Constructor Details
#initialize(config) ⇒ StructuredLogger
Initializes a new StructuredLogger instance
51 52 53 |
# File 'lib/sentry/structured_logger.rb', line 51 def initialize(config) @config = config end |
Instance Method Details
#debug(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at DEBUG level
73 74 75 |
# File 'lib/sentry/structured_logger.rb', line 73 def debug(, parameters = [], **attributes) log(__method__, , parameters: parameters, **attributes) end |
#error(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at ERROR level
106 107 108 |
# File 'lib/sentry/structured_logger.rb', line 106 def error(, parameters = [], **attributes) log(__method__, , parameters: parameters, **attributes) end |
#fatal(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at FATAL level
117 118 119 |
# File 'lib/sentry/structured_logger.rb', line 117 def fatal(, parameters = [], **attributes) log(__method__, , parameters: parameters, **attributes) end |
#info(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at INFO level
84 85 86 |
# File 'lib/sentry/structured_logger.rb', line 84 def info(, parameters = [], **attributes) log(__method__, , parameters: parameters, **attributes) end |
#log(level, message, parameters:, **attributes) ⇒ LogEvent?
Logs a message at the specified level
129 130 131 132 133 134 135 136 |
# File 'lib/sentry/structured_logger.rb', line 129 def log(level, , parameters:, **attributes) case parameters when Array then Sentry.capture_log(, level: level, severity: LEVELS[level], parameters: parameters, **attributes) else Sentry.capture_log(, level: level, severity: LEVELS[level], **parameters) end end |
#trace(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at TRACE level
62 63 64 |
# File 'lib/sentry/structured_logger.rb', line 62 def trace(, parameters = [], **attributes) log(__method__, , parameters: parameters, **attributes) end |
#warn(message, parameters = [], **attributes) ⇒ LogEvent?
Logs a message at WARN level
95 96 97 |
# File 'lib/sentry/structured_logger.rb', line 95 def warn(, parameters = [], **attributes) log(__method__, , parameters: parameters, **attributes) end |