Sha256: 62f1615ffac741e670bd7e9acf110b7dc3ad91b94a4dd7c9021eab758c178a90
Contents?: true
Size: 1.92 KB
Versions: 1
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 already 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ramaze-2023.01.06 | lib/ramaze/log/syslog.rb |