Sha256: 4b2c494329ac3569428e57199c86bfec1df4a163beaac57f120d30d7c45f16a1
Contents?: true
Size: 1.57 KB
Versions: 9
Compression:
Stored size: 1.57 KB
Contents
class Log < Logger SYSLOG_MIN_SEVERITY = Logger::WARN class << self # 'def [d|i|w|e|f] msg' for DEBUG INFO WARN ERROR FATAL Logger::Severity::constants.each do |severity| method_name = severity.to_s[0].downcase define_method(method_name) do |msg| log severity, msg end end def setup @syslog = Syslog::Logger.new "dns_one" @log_file = setfile "/var/log/dns_one.log" @logger = Logger.new @log_file @logger.level = Logger::INFO end def ruby_dns_logger l = Logger.new setfile("/var/log/dns_one_rubydns.log") l.level = Logger::WARN l end def exc e e e.desc end def logger @logger end def log_file_desc case @log_file when STDOUT 'STDOUT' when STDERR 'STDERR' else @log_file end end private def setfile file if File.writable?(file) or File.writable?(File.dirname(file)) file else STDERR end end def log severity, msg met_name = severity.downcase @logger.send met_name, msg if sev_num(severity) >= SYSLOG_MIN_SEVERITY @syslog.send met_name, msg end end def sev_num sev Object.const_get "Logger::#{sev}" end end end
Version data entries
9 entries across 9 versions & 1 rubygems