Class: Benoit::Logger

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

Class Method Summary collapse

Class Method Details

.critical(msg) ⇒ Object



41
42
43
# File 'lib/benoit/logger.rb', line 41

def self.critical(msg)
  self.log(:crit, msg)
end

.emergency(*msg) ⇒ Object



53
54
55
# File 'lib/benoit/logger.rb', line 53

def self.emergency(*msg)
  self.log(:emerg, msg)
end

.error(msg) ⇒ Object



45
46
47
# File 'lib/benoit/logger.rb', line 45

def self.error(msg)
  self.log(:err, msg)
end

.log(level, msg) ⇒ Object



61
62
63
# File 'lib/benoit/logger.rb', line 61

def self.log(level, msg)
  logger.send(level, '%s', msg)
end

.loggerObject



65
66
67
# File 'lib/benoit/logger.rb', line 65

def self.logger
  @logger ||= Syslog.open("com.densitypop.Benoit", Syslog::LOG_CONS, Syslog::LOG_USER)
end

.notice(*msg) ⇒ Object



57
58
59
# File 'lib/benoit/logger.rb', line 57

def self.notice(*msg)
  self.log(:notice, msg)
end

.report_error(ex) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/benoit/logger.rb', line 6

def self.report_error(ex)
  original_error = ex.original_error if ex.respond_to? :original_error

  sub_message =
    if original_error
      "#{original_error.message}\n#{original_error.backtrace.join("\n")}"
    else
      ex.backtrace.join("\n")
    end

  message = "  Benoit encountered an error.\n\n  \#{ex}\n  \#{sub_message}\n\n  \#{ENV.map { |k,v| \"\#{k}=\#{v}\" }.join(\"\\n\")}\n  EOM\n\n  error message\n\n  if Benoit.config.output_mode == :app\n    $stderr.puts ex.to_json\n  else\n    $stderr.puts message\n  end\nrescue StandardError => ex\n  if Benoit.config.output_mode == :app\n    $stderr.puts({ line_no: nil, message: ex.message, path: __FILE__ }.to_json)\n  else\n    $stderr.puts ex.to_s\n    $stderr.puts ex.backtrace\n  end\nend\n"

.warn(msg) ⇒ Object



49
50
51
# File 'lib/benoit/logger.rb', line 49

def self.warn(msg)
  self.log(:warning, msg)
end