Module: TeeLogger

Defined in:
lib/tee_logger.rb,
lib/tee_logger/utils.rb,
lib/tee_logger/version.rb,
lib/tee_logger/constants.rb

Overview

namespace

Defined Under Namespace

Modules: Utils Classes: IncorrectNameError, IncorrectOptionError, ParsedOption, TeeLogger

Constant Summary collapse

VERSION =

version number

'3.1.0'
DEFAULT_FILE =

no param of filename, set this filename

'./tee_logger.log'
LOGGING_METHODS =

Implements targets

[:debug, :info, :warn, :error, :fatal]
LOGDEV_NAMES =

defined logdev names

[:console, :logfile]
LOGDEV_REVERSE =

defined paired of logdev name

{ console: :logfile, logfile: :console }
FORMATTER_FOR_DISABLING =
proc { |_severity, _time, _progname, _msg| '' }

Class Method Summary collapse

Class Method Details

.extended(mod) ⇒ Object

define singleton method .logger for your module. and TeeLogger.progname is your module name.



16
17
18
19
20
21
22
23
24
25
# File 'lib/tee_logger.rb', line 16

def self.extended(mod)
  mod.class_eval do
    define_singleton_method(:logger) do |logdev = DEFAULT_FILE|
      return @logger if @logger
      @logger = TeeLogger.new(logdev)
      @logger.progname = self
      @logger
    end
  end
end

.included(klass) ⇒ Object

define instance method #logger for your class. and TeeLogger.progname is your class name.



29
30
31
32
33
34
35
36
37
38
# File 'lib/tee_logger.rb', line 29

def self.included(klass)
  klass.class_eval do
    define_method(:logger) do |logdev = DEFAULT_FILE|
      return @logger if @logger
      @logger = TeeLogger.new(logdev)
      @logger.progname = self.class.name
      @logger
    end
  end
end

.new(logdev = DEFAULT_FILE, shift_age = 0, shift_size = 1_048_576) ⇒ Object

shortcut for TeeLogger::TeeLogger.new

See Also:



10
11
12
# File 'lib/tee_logger.rb', line 10

def self.new(logdev = DEFAULT_FILE, shift_age = 0, shift_size = 1_048_576)
  TeeLogger.new(logdev, shift_age, shift_size)
end