Module: Morpheus::Logging
- Defined in:
- lib/morpheus/logging.rb
Overview
Provides global Logging behavior By default, Morpheus::Logging.logger is set to STDOUT with level INFO
Defined Under Namespace
Modules: HasLogger Classes: DarkPrinter, Logger
Constant Summary collapse
- DEFAULT_LOG_LEVEL =
ENV['DEBUG'] ? Logger::DEBUG : Logger::INFO
- @@log_level =
DEFAULT_LOG_LEVEL
- @@logger =
nil
Class Method Summary collapse
-
.debug? ⇒ Boolean
is log level debug?.
-
.log_level ⇒ Object
set the global log level.
-
.logger ⇒ Object
get the global logger instance.
-
.print_stacktrace? ⇒ Boolean
whether or not to print stack traces.
-
.set_log_level(level) ⇒ Object
set the global log level.
-
.set_logger(logdev, log_level = @@log_level) ⇒ Object
set the global logger to another logger or filename.
Class Method Details
.debug? ⇒ Boolean
is log level debug?
69 70 71 72 |
# File 'lib/morpheus/logging.rb', line 69 def self.debug? # self.log_level && self.log_level <= Logger::DEBUG self.logger.debug? end |
.log_level ⇒ Object
set the global log level
50 51 52 |
# File 'lib/morpheus/logging.rb', line 50 def self.log_level @@log_level end |
.logger ⇒ Object
get the global logger instance
32 33 34 35 36 37 |
# File 'lib/morpheus/logging.rb', line 32 def self.logger if !@@logger set_logger(STDOUT, @@log_level) end @@logger end |
.print_stacktrace? ⇒ Boolean
whether or not to print stack traces
75 76 77 |
# File 'lib/morpheus/logging.rb', line 75 def self.print_stacktrace? self.debug? end |
.set_log_level(level) ⇒ Object
set the global log level
55 56 57 58 59 60 61 |
# File 'lib/morpheus/logging.rb', line 55 def self.set_log_level(level) @@log_level = level.to_i if @@logger @@logger.level = @@log_level end @@log_level end |
.set_logger(logdev, log_level = @@log_level) ⇒ Object
set the global logger to another logger or filename
40 41 42 43 44 45 46 47 |
# File 'lib/morpheus/logging.rb', line 40 def self.set_logger(logdev, log_level = @@log_level) @@logger = logdev.is_a?(Logger) ? logdev : Logger.new(logdev) @@logger.level = log_level || DEFAULT_LOG_LEVEL @@logger.formatter = proc do |severity, datetime, progname, msg| "#{msg}\n" end @@logger end |