Class: Etna::Logger
- Inherits:
-
Logger
- Object
- Logger
- Etna::Logger
- Defined in:
- lib/etna/logger.rb
Instance Method Summary collapse
- #error(msg, &block) ⇒ Object
- #fatal(msg, &block) ⇒ Object
- #format(severity, datetime, progname, msg) ⇒ Object
-
#initialize(log_dev, age, size = 1048576) ⇒ Logger
constructor
A new instance of Logger.
- #log_error(e) ⇒ Object
- #log_request(request) ⇒ Object
- #warn(msg, &block) ⇒ Object
Constructor Details
#initialize(log_dev, age, size = 1048576) ⇒ Logger
Returns a new instance of Logger.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/etna/logger.rb', line 6 def initialize(log_dev, age, size=1048576) # On windows, these posix devices exist, but are not mounted in *nix style paths. # Swap the paths out with the actual IO handles instead. if log_dev == '/dev/stdout' log_dev = STDOUT elsif log_dev == '/dev/stderr' log_dev = STDERR end super self.formatter = proc do |severity, datetime, progname, msg| format(severity, datetime, progname, msg) end end |
Instance Method Details
#error(msg, &block) ⇒ Object
29 30 31 |
# File 'lib/etna/logger.rb', line 29 def error(msg, &block) super end |
#fatal(msg, &block) ⇒ Object
33 34 35 |
# File 'lib/etna/logger.rb', line 33 def fatal(msg, &block) super end |
#format(severity, datetime, progname, msg) ⇒ Object
21 22 23 |
# File 'lib/etna/logger.rb', line 21 def format(severity, datetime, progname, msg) "#{severity}:#{datetime.iso8601} #{msg}\n" end |
#log_error(e) ⇒ Object
37 38 39 40 41 42 43 44 |
# File 'lib/etna/logger.rb', line 37 def log_error(e) error(e.) e.backtrace.each do |trace| error(trace) end Rollbar.error(e) end |
#log_request(request) ⇒ Object
46 47 48 49 |
# File 'lib/etna/logger.rb', line 46 def log_request(request) request.env['etna.logger'] = self request.env['etna.request_id'] = (rand*36**6).to_i.to_s(36) end |
#warn(msg, &block) ⇒ Object
25 26 27 |
# File 'lib/etna/logger.rb', line 25 def warn(msg, &block) super end |