Sha256: bd82561d509ffc394f6922d5417a0a7263f5f8b365610dcafdb41be588af8d3f
Contents?: true
Size: 1.92 KB
Versions: 2
Compression:
Stored size: 1.92 KB
Contents
# Copyright (c) 2008 Michael Fellinger m.fellinger@gmail.com # Copyright (c) 2008 rob@rebeltechnologies.nl # All files in this distribution are subject to the terms of the MIT license. require 'syslog' module Ramaze module Logger ## # Logger class for writing to syslog. It is a *very* thin wrapper # around the Syslog library. # class Syslog include Logging # Hash containing various method aliases. Rbx and Jruby don't seem to like # the combination of alias() and module_function() so this works around # that. ALIASES = {:dev => :debug, :warn => :warning, :error => :err} ## # Open the syslog library, if it is allready open, we reopen it using the # new argument list. The argument list is passed on to the Syslog library # so please check that, and man syslog for detailed information. # # There are 3 parameters: # # * ident: The identification used in the log file, defaults to $0 # * options: defaults to Syslog::LOG_PID | Syslog::LOG_CONS # * facility: defaults to Syslog::LOG_USER # def initialize(*args) ::Syslog.close if ::Syslog.opened? ::Syslog.open(*args) end ## # Just sends all messages received to ::Syslog # We simply return if the log was closed for some reason, this behavior # was copied from Informer. We do not handle levels here. This will # be done by the syslog daemon based on it's configuration. def log(tag, *messages) return if !::Syslog.opened? tag = tag.to_sym if ALIASES.key?(tag) tag = ALIASES[tag] end messages = messages.map {|m| m.gsub(/(%[^m])/,'%\1')} ::Syslog.send(tag, *messages) end ## # Has to call the modules singleton-method. # def inspect ::Syslog.inspect end end # Syslog end # Logger end # Ramaze
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
ramaze-2012.12.08 | lib/ramaze/log/syslog.rb |
ramaze-2012.12.08b | lib/ramaze/log/syslog.rb |