Class: RubyRabbitmqJanus::Tools::Log
- Inherits:
-
Object
- Object
- RubyRabbitmqJanus::Tools::Log
- Includes:
- Singleton
- Defined in:
- lib/rrj/tools/log.rb
Overview
Class for wrtting logs.
Constant Summary collapse
- LEVELS =
Levels to log
{ DEBUG: Logger::DEBUG, INFO: Logger::INFO, WARN: Logger::WARN, ERROR: Logger::ERROR, FATAL: Logger::FATAL, UNKNOWN: Logger::UNKNOWN }.freeze
Instance Attribute Summary collapse
-
#level ⇒ Object
This method smell :reek:Attribute.
-
#progname ⇒ Object
This method smell :reek:Attribute.
Instance Method Summary collapse
-
#debug(message) ⇒ Object
Write a message in log with a debug level.
-
#error(message) ⇒ Object
Write a message in log with a ERROR level.
-
#fatal(message) ⇒ Object
Write a message in log with a FATAL level.
-
#info(message) ⇒ Object
Write a message in log with a info level.
-
#initialize ⇒ Log
constructor
Returns a new instance to Log.
-
#logdev ⇒ Object
Return device to log is writing.
-
#logger ⇒ Object
Return instance logger.
-
#logger_develop ⇒ Object
private
Define instance logger wiptout rails.
-
#logger_rails ⇒ Object
private
Define instance logger with rails.
-
#test_level?(this_level) ⇒ Boolean
private
This method smell :reek:UtilityFunction.
-
#unknown(message) ⇒ Object
Write a message in log with a UNKNOWN level.
-
#warn(message) ⇒ Object
Write a message in log with a warn level.
-
#write_tag ⇒ Object
private
Write a log with an tag.
Constructor Details
#initialize ⇒ Log
Returns a new instance to Log
24 25 26 27 28 29 30 31 32 |
# File 'lib/rrj/tools/log.rb', line 24 def initialize logs = defined?(Rails) ? logger_rails : logger_develop logs.progname = RubyRabbitmqJanus.name logs.level = LEVELS[:DEBUG] logs.info('### Start gem Rails Rabbit Janus ###') @level = logs.level @progname = logs.progname @logs = ActiveSupport::TaggedLogging.new(logs) end |
Instance Attribute Details
#level ⇒ Object
This method smell :reek:Attribute
21 22 23 |
# File 'lib/rrj/tools/log.rb', line 21 def level @level end |
#progname ⇒ Object
This method smell :reek:Attribute
21 22 23 |
# File 'lib/rrj/tools/log.rb', line 21 def progname @progname end |
Instance Method Details
#debug(message) ⇒ Object
Write a message in log with a debug level
66 67 68 |
# File 'lib/rrj/tools/log.rb', line 66 def debug() write_tag { @logs.debug(.light_blue) } if test_level?(Logger::DEBUG) end |
#error(message) ⇒ Object
Write a message in log with a ERROR level
48 49 50 |
# File 'lib/rrj/tools/log.rb', line 48 def error() write_tag { @logs.error(.orange) } if test_level?(Logger::ERROR) end |
#fatal(message) ⇒ Object
Write a message in log with a FATAL level
42 43 44 |
# File 'lib/rrj/tools/log.rb', line 42 def fatal() write_tag { @logs.fatal(.red) } if test_level?(Logger::FATAL) end |
#info(message) ⇒ Object
Write a message in log with a info level
60 61 62 |
# File 'lib/rrj/tools/log.rb', line 60 def info() write_tag { @logs.info(.green) } if test_level?(Logger::INFO) end |
#logdev ⇒ Object
Return device to log is writing
76 77 78 |
# File 'lib/rrj/tools/log.rb', line 76 def logdev @logs.instance_variable_get(:'@logdev').filename end |
#logger ⇒ Object
Return instance logger
71 72 73 |
# File 'lib/rrj/tools/log.rb', line 71 def logger @logs end |
#logger_develop ⇒ Object (private)
Define instance logger wiptout rails
88 89 90 91 92 93 94 |
# File 'lib/rrj/tools/log.rb', line 88 def logger_develop log = Logger.new('log/rails-rabbit-janus.log') log.formatter = proc do |severity, _datetime, _progname, msg| "#{severity[0, 1].upcase}, #{msg}\n" end log end |
#logger_rails ⇒ Object (private)
Define instance logger with rails
83 84 85 |
# File 'lib/rrj/tools/log.rb', line 83 def logger_rails Rails.logger end |
#test_level?(this_level) ⇒ Boolean (private)
This method smell :reek:UtilityFunction
97 98 99 |
# File 'lib/rrj/tools/log.rb', line 97 def test_level?(this_level) this_level >= Log.instance.level ? true : false end |
#unknown(message) ⇒ Object
Write a message in log with a UNKNOWN level
36 37 38 |
# File 'lib/rrj/tools/log.rb', line 36 def unknown() write_tag { @logs.unknown() } end |
#warn(message) ⇒ Object
Write a message in log with a warn level
54 55 56 |
# File 'lib/rrj/tools/log.rb', line 54 def warn() write_tag { @logs.warn(.yellow) } if test_level?(Logger::WARN) end |
#write_tag ⇒ Object (private)
Write a log with an tag
102 103 104 |
# File 'lib/rrj/tools/log.rb', line 102 def write_tag @logs.tagged(@logs.progname) { yield } end |