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: 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?
68 69 70 71 |
# File 'lib/morpheus/logging.rb', line 68 def self.debug? # self.log_level && self.log_level <= Logger::DEBUG self.logger.debug? end |
.log_level ⇒ Object
set the global log level
49 50 51 |
# File 'lib/morpheus/logging.rb', line 49 def self.log_level @@log_level end |
.logger ⇒ Object
get the global logger instance
31 32 33 34 35 36 |
# File 'lib/morpheus/logging.rb', line 31 def self.logger if !@@logger set_logger(STDOUT, @@log_level) end @@logger end |
.print_stacktrace? ⇒ Boolean
whether or not to print stack traces
74 75 76 |
# File 'lib/morpheus/logging.rb', line 74 def self.print_stacktrace? self.debug? end |
.set_log_level(level) ⇒ Object
set the global log level
54 55 56 57 58 59 60 |
# File 'lib/morpheus/logging.rb', line 54 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
39 40 41 42 43 44 45 46 |
# File 'lib/morpheus/logging.rb', line 39 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 |