Class: Fusuma::MultiLogger
- Inherits:
-
Logger
- Object
- Logger
- Fusuma::MultiLogger
- Includes:
- Singleton
- Defined in:
- lib/fusuma/multi_logger.rb
Overview
logger separate between stdout and strerr
Class Attribute Summary collapse
-
.filepath ⇒ Object
writeonly
Sets the attribute filepath.
Instance Attribute Summary collapse
-
#debug_mode ⇒ Object
Returns the value of attribute debug_mode.
-
#err_logger ⇒ Object
readonly
Returns the value of attribute err_logger.
Class Method Summary collapse
Instance Method Summary collapse
- #debug(msg) ⇒ Object
- #debug_mode? ⇒ Boolean
- #error(msg) ⇒ Object
-
#initialize ⇒ MultiLogger
constructor
A new instance of MultiLogger.
- #warn(msg) ⇒ Object
Constructor Details
#initialize ⇒ MultiLogger
Returns a new instance of MultiLogger.
34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/fusuma/multi_logger.rb', line 34 def initialize filepath = self.class.instance_variable_get(:@filepath) if filepath logfile = File.new(filepath, "a") logfile.sync = true super(logfile) $stderr = logfile else super($stdout) end @err_logger = Logger.new($stderr) @debug_mode = false end |
Class Attribute Details
.filepath=(value) ⇒ Object (writeonly)
Sets the attribute filepath
15 16 17 |
# File 'lib/fusuma/multi_logger.rb', line 15 def filepath=(value) @filepath = value end |
Instance Attribute Details
#debug_mode ⇒ Object
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_logger ⇒ Object (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
21 22 23 |
# File 'lib/fusuma/multi_logger.rb', line 21 def debug(msg) instance.debug(msg) end |
.error(msg) ⇒ Object
29 30 31 |
# File 'lib/fusuma/multi_logger.rb', line 29 def error(msg) instance.error(msg) end |
.info(msg) ⇒ Object
17 18 19 |
# File 'lib/fusuma/multi_logger.rb', line 17 def info(msg) instance.info(msg) end |
.warn(msg) ⇒ Object
25 26 27 |
# File 'lib/fusuma/multi_logger.rb', line 25 def warn(msg) instance.warn(msg) end |
Instance Method Details
#debug(msg) ⇒ Object
48 49 50 51 52 53 54 |
# File 'lib/fusuma/multi_logger.rb', line 48 def debug(msg) return unless debug_mode? return if ignore_pattern?(msg) super(msg) end |
#debug_mode? ⇒ Boolean
64 65 66 |
# File 'lib/fusuma/multi_logger.rb', line 64 def debug_mode? debug_mode end |
#error(msg) ⇒ Object
60 61 62 |
# File 'lib/fusuma/multi_logger.rb', line 60 def error(msg) err_logger.error(msg) end |
#warn(msg) ⇒ Object
56 57 58 |
# File 'lib/fusuma/multi_logger.rb', line 56 def warn(msg) err_logger.warn(msg) end |