class PuppetForgeServer::Logger
Public Class Methods
get(type = :server)
click to toggle source
# File lib/puppet_forge_server/logger.rb, line 66 def get(type = :server) set unless @static_loggers[type] @static_loggers[type] end
new(destinations = [@@DEFAULT_DESTINATION])
click to toggle source
# File lib/puppet_forge_server/logger.rb, line 27 def initialize(destinations = [@@DEFAULT_DESTINATION]) @loggers = [destinations].flatten.map do |dest| logger = ::Logger.new(dest) logger.formatter = proc do |severity, datetime, progname, msg| datetime = datetime.strftime @@DEFAULT_DATETIME_FORMAT "[#{datetime}] #{severity} #{msg}\n" end logger.level = @@DEFAULT_LOG_LEVEL logger end end
set(loggers= {})
click to toggle source
# File lib/puppet_forge_server/logger.rb, line 71 def set(loggers= {}) loggers = {:server => [@@DEFAULT_DESTINATION], :access => [@@DEFAULT_DESTINATION]}.merge(loggers) loggers.each do |type, destinations| @static_loggers[type] = PuppetForgeServer::Logger.new(destinations) end end
Public Instance Methods
flush()
click to toggle source
# File lib/puppet_forge_server/logger.rb, line 61 def flush # ignore end
method_missing(method_name, *args, &block)
click to toggle source
# File lib/puppet_forge_server/logger.rb, line 39 def method_missing (method_name, *args, &block) method_name = case method_name when :write, :puts '<<' when :flush '' else method_name end if args.size > 0 # setters @loggers.each { |logger| logger.send(method_name, args.first) } else # getters @loggers.collect { |logger| logger.send(method_name) } end end
respond_to?(method_name, include_private = false)
click to toggle source
# File lib/puppet_forge_server/logger.rb, line 57 def respond_to?(method_name, include_private = false) @loggers.each { |logger| return false unless (logger.respond_to?(method_name) || %w(write puts flush).include?(method_name.to_s)) } end