Module: Syslog

Includes:
SyslogRuby::Facility, SyslogRuby::Severity
Defined in:
lib/syslog_compat.rb

Constant Summary collapse

@@logger =
nil

Constants included from SyslogRuby::Facility

SyslogRuby::Facility::AUTH, SyslogRuby::Facility::AUTHPRIV, SyslogRuby::Facility::CONSOLE, SyslogRuby::Facility::CRON, SyslogRuby::Facility::DAEMON, SyslogRuby::Facility::FTP, SyslogRuby::Facility::KERN, SyslogRuby::Facility::LOCAL0, SyslogRuby::Facility::LOCAL1, SyslogRuby::Facility::LOCAL2, SyslogRuby::Facility::LOCAL3, SyslogRuby::Facility::LOCAL4, SyslogRuby::Facility::LOCAL5, SyslogRuby::Facility::LOCAL6, SyslogRuby::Facility::LOCAL7, SyslogRuby::Facility::LPR, SyslogRuby::Facility::MAIL, SyslogRuby::Facility::NEWS, SyslogRuby::Facility::NONE, SyslogRuby::Facility::NTP, SyslogRuby::Facility::RAS, SyslogRuby::Facility::SECURITY, SyslogRuby::Facility::SYSLOG, SyslogRuby::Facility::USER, SyslogRuby::Facility::UUCP

Constants included from SyslogRuby::Severity

SyslogRuby::Severity::ALERT, SyslogRuby::Severity::CRIT, SyslogRuby::Severity::DEBUG, SyslogRuby::Severity::EMERG, SyslogRuby::Severity::ERR, SyslogRuby::Severity::INFO, SyslogRuby::Severity::NONE, SyslogRuby::Severity::NOTICE, SyslogRuby::Severity::WARN

Class Method Summary collapse

Methods included from SyslogRuby::LookupFromConst

#setup_constants

Class Method Details

.closeObject



58
59
60
61
62
63
# File 'lib/syslog_compat.rb', line 58

def close
  raise RuntimeError.new "syslog not open" unless @@logger
  @@logger.close
ensure
  @@logger = nil
end

.find_syslog_socketObject



37
38
39
40
41
42
43
44
# File 'lib/syslog_compat.rb', line 37

def find_syslog_socket
  %w[
    /dev/log
    /var/run/syslog
  ].find do |file|
    file if File.exists?(file)
  end
end

.identObject



94
95
96
# File 'lib/syslog_compat.rb', line 94

def ident
  @@logger.ident if @@logger
end

.info(*args) ⇒ Object



46
47
48
# File 'lib/syslog_compat.rb', line 46

def info(*args)
  @@logger.info(*args)
end

.inspectObject



54
55
56
# File 'lib/syslog_compat.rb', line 54

def inspect
  @@logger.inspect
end

.instanceObject



90
91
92
# File 'lib/syslog_compat.rb', line 90

def instance
  @@logger if @@logger
end

.log(*args) ⇒ Object



50
51
52
# File 'lib/syslog_compat.rb', line 50

def log(*args)
  @@logger.log(*args)
end

.LOG_MASK(level) ⇒ Object



82
83
84
# File 'lib/syslog_compat.rb', line 82

def LOG_MASK(level)
  @@logger.LOG_MASK(level) if @@logger
end

.LOG_UPTO(level) ⇒ Object



86
87
88
# File 'lib/syslog_compat.rb', line 86

def LOG_UPTO(level)
  @@logger.LOG_UPTO(level) if @@logger
end

.maskObject



74
75
76
# File 'lib/syslog_compat.rb', line 74

def mask
  @@logger.mask if @@logger
end

.mask=(priority_mask) ⇒ Object



78
79
80
# File 'lib/syslog_compat.rb', line 78

def mask=(priority_mask)
  @@logger.mask = priority_mask if @@logger
end

.open(ident = 'ruby', logopt = nil, facility = Syslog::LOG_LOCAL6) ⇒ Object



22
23
24
# File 'lib/syslog_compat.rb', line 22

def open(ident = 'ruby', logopt = nil, facility = Syslog::LOG_LOCAL6)
  open_opt(ident, logopt, facility)
end

.open_opt(ident = 'ruby', logopt = nil, facility = Syslog::LOG_LOCAL6, options = {}) ⇒ Object



26
27
28
29
30
31
32
33
34
35
# File 'lib/syslog_compat.rb', line 26

def open_opt(ident = 'ruby', logopt = nil, facility = Syslog::LOG_LOCAL6, options = {})
  options[:uri] = options[:uri] || find_syslog_socket
  @@logger ||= ::SyslogRuby::Logger.new(ident, facility, options)
  if block_given?
    yield @@logger
    @@logger.close
  else
    @@logger
  end
end

.opened?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'lib/syslog_compat.rb', line 70

def opened?
  @@logger ? @@logger.opened? : false
end

.optionsObject



98
99
100
# File 'lib/syslog_compat.rb', line 98

def options
  @@logger.options if @@logger
end

.reopen(*args) ⇒ Object



65
66
67
68
# File 'lib/syslog_compat.rb', line 65

def reopen(*args)
  self.close
  self.open(*args)
end

.setup_severity_methodsObject



9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/syslog_compat.rb', line 9

def setup_severity_methods
  SyslogRuby::Severity.constants.each do |level_name|
    level = SyslogRuby::Severity.const_get level_name

    self.class.send :define_method, level_name.downcase do |*args|
      @@logger.log level, *args
    end
    self.class.send :define_method, level_name.downcase.to_sym do |*args|
      @@logger.log level, *args
    end
  end
end