Class: Aspera::Log
Overview
Singleton object for logging
Instance Attribute Summary collapse
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#logger_type ⇒ Object
Returns the value of attribute logger_type.
-
#program_name ⇒ Object
writeonly
Sets the attribute program_name.
Class Method Summary collapse
-
.dump(name, object, format = :json) ⇒ Object
dump object in debug mode.
-
.levels ⇒ Object
levels are :debug,:info,:warn,:error,fatal,:unknown.
-
.log ⇒ Object
get the logger object of singleton.
-
.logtypes ⇒ Object
where logs are sent to.
Instance Method Summary collapse
-
#level ⇒ Object
get symbol of debug level of underlying logger.
-
#level=(new_level) ⇒ Object
set log level of underlying logger given symbol level.
Instance Attribute Details
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
14 15 16 |
# File 'lib/aspera/log.rb', line 14 def logger @logger end |
#logger_type ⇒ Object
Returns the value of attribute logger_type.
15 16 17 |
# File 'lib/aspera/log.rb', line 15 def logger_type @logger_type end |
#program_name=(value) ⇒ Object (writeonly)
Sets the attribute program_name
76 77 78 |
# File 'lib/aspera/log.rb', line 76 def program_name=(value) @program_name = value end |
Class Method Details
.dump(name, object, format = :json) ⇒ Object
dump object in debug mode
28 29 30 31 32 33 34 35 |
# File 'lib/aspera/log.rb', line 28 def self.dump(name,object,format=:json) result=case format when :ruby;PP.pp(object,'') when :json;JSON.pretty_generate(object) rescue PP.pp(object,'') else raise "wrong parameter, expect pp or json" end self.log.debug("#{name.to_s.green} (#{format})=\n#{result}") end |
.levels ⇒ Object
levels are :debug,:info,:warn,:error,fatal,:unknown
17 |
# File 'lib/aspera/log.rb', line 17 def self.levels; Logger::Severity.constants.map{|c| c.downcase.to_sym};end |
.log ⇒ Object
get the logger object of singleton
23 |
# File 'lib/aspera/log.rb', line 23 def self.log; self.instance.logger; end |
.logtypes ⇒ Object
where logs are sent to
20 |
# File 'lib/aspera/log.rb', line 20 def self.logtypes; [:stderr,:stdout,:syslog];end |
Instance Method Details
#level ⇒ Object
get symbol of debug level of underlying logger
43 44 45 46 47 48 |
# File 'lib/aspera/log.rb', line 43 def level Logger::Severity.constants.each do |name| return name.downcase.to_sym if @logger.level.eql?(Logger::Severity.const_get(name)) end raise "error" end |
#level=(new_level) ⇒ Object
set log level of underlying logger given symbol level
38 39 40 |
# File 'lib/aspera/log.rb', line 38 def level=(new_level) @logger.level=Logger::Severity.const_get(new_level.to_sym.upcase) end |