module Opener::Core::Syslog
Wrapper around `Syslog` that makes it easier to disable loggers and to log custom key/value pairs in message.
Public Class Methods
add(type, message, meta = {})
click to toggle source
Adds a new log message.
@example
add(:info, 'Testing Syslog', :user_id => 19)
@param [Symbol] type The type of log message to add, corresponds to the
logger method that will be called.
@param [String] message The message to log. @param [Hash] meta Extra meta data to log.
# File lib/opener/core/syslog.rb, line 50 def self.add(type, message, meta = {}) return unless enabled? pairs = make_pairs(meta) ::Syslog.send(type, "#{pairs} #{message}".strip) end
enabled?()
click to toggle source
Returns `true` if Syslog
should be enabled.
@return [TrueClass|FalseClass]
# File lib/opener/core/syslog.rb, line 13 def self.enabled? return !!ENV['ENABLE_SYSLOG'] end
make_pairs(meta)
click to toggle source
@param [Hash] meta @return [String]
# File lib/opener/core/syslog.rb, line 62 def self.make_pairs(meta) return meta.map { |(key, value)| "#{key}=#{value.inspect}" }.join(' ') end
open(name, facility = nil)
click to toggle source
Configures Syslog
.
@see [Syslog.open] @param [String] name The name of the program. @param [Fixnum] facility
# File lib/opener/core/syslog.rb, line 24 def self.open(name, facility = nil) ::Syslog.open(name, facility) if enabled? end