Class: Etna::Logger

Inherits:
Logger
  • Object
show all
Defined in:
lib/etna/logger.rb

Instance Method Summary collapse

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
45
46
47
48
# File 'lib/etna/logger.rb', line 37

def log_error(e)
  error(e.message)
  e.backtrace.each do |trace|
    error(trace)
  end

  if defined? Yabeda
    Yabeda.etna.rollbar_errors.increment({}, 1) rescue nil
  end

  Rollbar.error(e)
end

#log_request(request) ⇒ Object



50
51
52
53
# File 'lib/etna/logger.rb', line 50

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