class TeeLogger::TeeLoggerBase
main @see www.rubydoc.info/stdlib/logger/Logger Logger
Public Class Methods
new(logdev = nil, shift_age = 0, shift_size = 1_048_576)
click to toggle source
@param logdev [String] @param shift_age [Integer] @param shift_size [Integer] @see Logger#initialize
# File lib/tee_logger/tee_logger_base.rb, line 47 def initialize(logdev = nil, shift_age = 0, shift_size = 1_048_576) @console = Logger.new($stdout) @logfile = Logger.new(logdev || TeeLogger.logdev, shift_age, shift_size) @level, @progname, @formatter, @datetime_format = nil configuration end
Private Class Methods
define_logging_methods(name)
click to toggle source
@!macro [attach] logging_methods
@!method $1(progname = nil, *options, &block) logging $1 level message. @param progname see also Logger @param options [Array] @option options [Fixnum] indent_level @option options [Symbol] enabling_target valid values => [:console, :logfile] @param &block see also Logger @return true @see Logger
# File lib/tee_logger/tee_logger_base.rb, line 18 def define_logging_methods(name) define_method(name) do |progname = nil, *options, &block| logdev_name, indent_level = extract_options(options).values progname, block = indentation(progname, block, indent_level) logging(name, progname, logdev_name, &block) end end
define_loglevel_check_methods(name)
click to toggle source
@!macro [attach] loglevel_check_methods
@!method $1(name) @return [Boolean]
# File lib/tee_logger/tee_logger_base.rb, line 30 def define_loglevel_check_methods(name) define_method(name) do @console.send(name) @logfile.send(name) end end
Public Instance Methods
datetime_format=(datetime_format)
click to toggle source
@param datetime_format
# File lib/tee_logger/tee_logger_base.rb, line 85 def datetime_format=(datetime_format) @console.datetime_format = @logfile.datetime_format = @datetime_format = datetime_format end
disable(logdev_name) { || ... }
click to toggle source
@param logdev_name [String, Symbol] @yield before logdev_name disable, after logdev_name enable.
# File lib/tee_logger/tee_logger_base.rb, line 93 def disable(logdev_name) correct_name?(logdev_name) if block_given? disable(logdev_name) yield enable(logdev_name) else logdev_instance(logdev_name).formatter = FORMATTER_FOR_DISABLING end end
enable(logdev_name)
click to toggle source
@param logdev_name [String, Symbol]
# File lib/tee_logger/tee_logger_base.rb, line 105 def enable(logdev_name) correct_name?(logdev_name) logdev_instance(logdev_name).formatter = @formatter end
formatter=(formatter)
click to toggle source
@param formatter
# File lib/tee_logger/tee_logger_base.rb, line 80 def formatter=(formatter) @console.formatter = @logfile.formatter = @formatter = formatter end
level=(level)
click to toggle source
@param level [Integer]
# File lib/tee_logger/tee_logger_base.rb, line 68 def level=(level) @console.level = @logfile.level = @level = level end
Also aliased as: sev_threshold=
progname=(name = nil)
click to toggle source
@param name [String, Symbol]
# File lib/tee_logger/tee_logger_base.rb, line 75 def progname=(name = nil) @console.progname = @logfile.progname = @progname = name end
Private Instance Methods
configuration()
click to toggle source
# File lib/tee_logger/tee_logger_base.rb, line 112 def configuration CONFIGURED_ATTRIBUTES.each do |method_name| value = TeeLogger.send(method_name) send("#{method_name}=", value) unless value.nil? end end
logging(name, progname, logdev_name = nil, &block)
click to toggle source
# File lib/tee_logger/tee_logger_base.rb, line 119 def logging(name, progname, logdev_name = nil, &block) if logdev_name disable(logdev_name) { logging(name, progname, &block) } else @console.send(name, progname, &block) @logfile.send(name, progname, &block) end end