Class: Fusuma::MultiLogger

Inherits:
Logger
  • Object
show all
Includes:
Singleton
Defined in:
lib/fusuma/multi_logger.rb

Overview

logger separate between stdout and strerr

Constant Summary collapse

@@filepath =
nil

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMultiLogger

Returns a new instance of MultiLogger.



19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/fusuma/multi_logger.rb', line 19

def initialize
  if @@filepath
    logfile = File.new(@@filepath, 'a')
    super(logfile)
    $stderr = logfile
    @err_logger = Logger.new($stderr)
  else
    super($stdout)
    @err_logger = Logger.new($stderr)
  end
  @debug_mode = false
end

Instance Attribute Details

#debug_modeObject

Returns the value of attribute debug_mode.



12
13
14
# File 'lib/fusuma/multi_logger.rb', line 12

def debug_mode
  @debug_mode
end

#err_loggerObject (readonly)

Returns the value of attribute err_logger.



11
12
13
# File 'lib/fusuma/multi_logger.rb', line 11

def err_logger
  @err_logger
end

Class Method Details

.debug(msg) ⇒ Object



55
56
57
# File 'lib/fusuma/multi_logger.rb', line 55

def debug(msg)
  instance.debug(msg)
end

.error(msg) ⇒ Object



63
64
65
# File 'lib/fusuma/multi_logger.rb', line 63

def error(msg)
  instance.error(msg)
end

.filepath=(filepath) ⇒ Object



15
16
17
# File 'lib/fusuma/multi_logger.rb', line 15

def self.filepath=(filepath)
  @@filepath = filepath
end

.info(msg) ⇒ Object



51
52
53
# File 'lib/fusuma/multi_logger.rb', line 51

def info(msg)
  instance.info(msg)
end

.warn(msg) ⇒ Object



59
60
61
# File 'lib/fusuma/multi_logger.rb', line 59

def warn(msg)
  instance.warn(msg)
end

Instance Method Details

#debug(msg) ⇒ Object



32
33
34
35
36
# File 'lib/fusuma/multi_logger.rb', line 32

def debug(msg)
  return unless debug_mode?

  super(msg)
end

#debug_mode?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/fusuma/multi_logger.rb', line 46

def debug_mode?
  debug_mode
end

#error(msg) ⇒ Object



42
43
44
# File 'lib/fusuma/multi_logger.rb', line 42

def error(msg)
  err_logger.error(msg)
end

#warn(msg) ⇒ Object



38
39
40
# File 'lib/fusuma/multi_logger.rb', line 38

def warn(msg)
  err_logger.warn(msg)
end