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 (capture_rails_logs_min_level, default :warn) viene re-inoltrato a
CloseYourIt.log → ingest /logs. Sotto soglia: no-op (nessun invio). Il default è conservativo
(:warn) per non inondare lo stream col rumore info del framework (CYRB-7). 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 = :warn) ⇒ LogBroadcast
constructor
A new instance of LogBroadcast.
Constructor Details
#initialize(min_level = :warn) ⇒ LogBroadcast
Returns a new instance of LogBroadcast.
16 17 18 19 |
# File 'lib/closeyourit/rails/log_broadcast.rb', line 16 def initialize(min_level = :warn) super(nil) # nessun device: inoltra soltanto self.level = LEVEL_BY_SYMBOL.fetch(min_level.to_sym, 2) 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.
22 23 24 25 26 27 28 29 |
# File 'lib/closeyourit/rails/log_broadcast.rb', line 22 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 |