Class: CloseYourIt::Rails::LogBroadcast
- Inherits:
-
Logger
- Object
- Logger
- CloseYourIt::Rails::LogBroadcast
- Defined in:
- lib/closeyourit/rails/log_broadcast.rb
Overview
Sink Logger-compatibile agganciato a Rails.logger (broadcast opt-in, config.capture_rails_logs):
ogni log dell'app ≥ soglia (logs_min_level) viene re-inoltrato a CloseYourIt.log → ingest /logs.
Sotto soglia: no-op (nessun invio). Non scrive su alcun device (inoltra soltanto).
Constant Summary collapse
- SEVERITY_LEVELS =
{ 0 => "debug", 1 => "info", 2 => "warning", 3 => "error", 4 => "fatal", 5 => "fatal" }.freeze
- LEVEL_BY_SYMBOL =
{ debug: 0, info: 1, warn: 2, warning: 2, error: 3, fatal: 4 }.freeze
Instance Method Summary collapse
-
#add(severity, message = nil, progname = nil) ⇒ Object
Sovrascrive il punto unico di ::Logger: filtra per soglia e re-inoltra a CloseYourIt.log.
-
#initialize(min_level = :info) ⇒ LogBroadcast
constructor
A new instance of LogBroadcast.
Constructor Details
#initialize(min_level = :info) ⇒ LogBroadcast
Returns a new instance of LogBroadcast.
14 15 16 17 |
# File 'lib/closeyourit/rails/log_broadcast.rb', line 14 def initialize(min_level = :info) super(nil) # nessun device: inoltra soltanto self.level = LEVEL_BY_SYMBOL.fetch(min_level.to_sym, 1) end |
Instance Method Details
#add(severity, message = nil, progname = nil) ⇒ Object
Sovrascrive il punto unico di ::Logger: filtra per soglia e re-inoltra a CloseYourIt.log.
20 21 22 23 24 25 26 27 |
# File 'lib/closeyourit/rails/log_broadcast.rb', line 20 def add(severity, = nil, progname = nil) severity ||= ::Logger::UNKNOWN return true if severity < level text = || (block_given? ? yield : nil) || progname CloseYourIt.log(SEVERITY_LEVELS.fetch(severity, "info"), text) unless text.nil? true end |