Module: TeeLogger

Extended by:
Configration
Defined in:
lib/tee_logger.rb,
lib/tee_logger/utils.rb,
lib/tee_logger/version.rb,
lib/tee_logger/constants.rb,
lib/tee_logger/configuration.rb,
lib/tee_logger/tee_logger_base.rb

Overview

namespace

Defined Under Namespace

Modules: Configration, Utils Classes: IncorrectNameError, IncorrectOptionError, ParsedOption, TeeLoggerBase

Constant Summary collapse

VERSION =

version number

'3.2.4'.freeze
DEFAULT_FILE =

no param of filename, set this filename

'./tee_logger.log'.freeze
CONFIGURED_ATTRIBUTES =

configured attributes

[:level, :progname, :formatter, :datetime_format].freeze
LOGGING_METHODS =

implements targets

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

defined logdev names

[:console, :logfile].freeze
LOGDEV_REVERSE =

defined paired of logdev name

{ console: :logfile, logfile: :console }.freeze
FORMATTER_FOR_DISABLING =

empty format

proc { |_severity, _time, _progname, _msg| '' }

Class Method Summary collapse

Methods included from Configration

configuration_reset, configure, datetime_format, formatter, level, logdev, logdev=, progname

Class Method Details

.extended(mod) ⇒ Object

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



24
25
26
27
28
29
30
31
# File 'lib/tee_logger.rb', line 24

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

.included(klass) ⇒ Object

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



35
36
37
38
39
40
41
42
43
44
# File 'lib/tee_logger.rb', line 35

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

.new(logdev = nil, shift_age = 0, shift_size = 1_048_576) ⇒ TeeLogger::TeeLoggerBase

shortcut for TeeLogger::TeeLoggerBase.new

Parameters:

  • logdev (String) (defaults to: nil)
  • shift_age (Integer) (defaults to: 0)
  • shift_size (Integer) (defaults to: 1_048_576)

Returns:

See Also:



18
19
20
# File 'lib/tee_logger.rb', line 18

def self.new(logdev = nil, shift_age = 0, shift_size = 1_048_576)
  TeeLoggerBase.new(logdev, shift_age, shift_size)
end