Module: CuteLogger
- Defined in:
- lib/cute_logger.rb,
lib/cute_logger/version.rb
Overview
Partial module to define the version of the gem
Defined Under Namespace
Modules: GeneralMethods
Constant Summary collapse
- SEVERITY =
{ 'DEBUG' => Logger::DEBUG, 'INFO' => Logger::INFO, 'WARN' => Logger::WARN, 'ERROR' => Logger::ERROR, 'FATAL' => Logger::FATAL }
- VERSION =
'0.1.13'
Class Method Summary collapse
- .format_message(message) ⇒ Object
- .log(severity, classname, args, &block) ⇒ Object
- .logger ⇒ Object
- .setup(settings = {}) ⇒ Object
- .severity(text) ⇒ Object
- .severity=(text) ⇒ Object
Class Method Details
.format_message(message) ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/cute_logger.rb', line 54 def self.() if .is_a?(Array) && .count == 1 .first.to_log_format.to_json else .to_log_format.to_json end end |
.log(severity, classname, args, &block) ⇒ Object
62 63 64 65 66 67 68 69 |
# File 'lib/cute_logger.rb', line 62 def self.log(severity, classname, args, &block) setup unless defined?(@logger) if block_given? @logger.add(severity, nil, (args.first || classname)) { (block.call) } else @logger.add(severity, (args), classname) end end |
.logger ⇒ Object
71 72 73 74 |
# File 'lib/cute_logger.rb', line 71 def self.logger setup unless defined?(@logger) @logger end |
.setup(settings = {}) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/cute_logger.rb', line 17 def self.setup(settings = {}) @logger = Logger.new( ENV['CUTE_LOGGER_FILENAME'] || settings[:filename] || 'application.log', ENV['CUTE_LOGGER_SHIFT_AGE'] || settings[:shift_age] || 7, ENV['CUTE_LOGGER_SHIFT_SIZE'] || settings[:shift_size] || 1024 * 1024 * 1024 # One gigabyte ) @logger.sev_threshold = severity(ENV['CUTE_LOGGER_SEVERITY'] || settings[:severity]) @logger.formatter = proc do |severity, datetime, progname, msg| datetime = Time.now.strftime('%Y-%m-%dT%H:%M:%S.%L%z') "#{datetime},#{severity},#{Process.pid.to_s(16)},#{Thread.current.object_id.to_s(16)}" \ ",#{progname},#{msg}\n" end @signals_read, @signals_write = IO.pipe ['HUP', 'USR1'].each do |signal| Signal.trap(signal) {@signals_write.puts(true)} end Thread.new do while readable_io = IO.select([@signals_read]) readable_io.first[0].gets @logger.reopen end end end |
.severity(text) ⇒ Object
48 49 50 51 52 |
# File 'lib/cute_logger.rb', line 48 def self.severity(text) return Logger::INFO unless text fail("Unknown logger severity: #{text}") unless SEVERITY[text.upcase] SEVERITY[text.upcase] end |
.severity=(text) ⇒ Object
44 45 46 |
# File 'lib/cute_logger.rb', line 44 def self.severity=(text) @logger.sev_threshold = severity(text) end |