Module: EXEL::Logging
- Defined in:
- lib/exel/logging.rb,
lib/exel/logging/logger_wrapper.rb
Defined Under Namespace
Classes: LoggerWrapper, PrefixFormatter
Constant Summary
collapse
- DEFAULT_LEVEL =
:info
Class Method Summary
collapse
Class Method Details
.initialize_logger ⇒ Object
20
21
22
23
24
25
|
# File 'lib/exel/logging.rb', line 20
def self.initialize_logger
@logger = Logger.new(log_filename)
@logger.level = log_level
@logger.formatter = PrefixFormatter.new
@logger
end
|
.log_filename ⇒ Object
27
28
29
|
# File 'lib/exel/logging.rb', line 27
def self.log_filename
EXEL.configuration.log_filename || '/dev/null'
end
|
.log_level ⇒ Object
31
32
33
34
|
# File 'lib/exel/logging.rb', line 31
def self.log_level
level = EXEL.configuration.log_level || DEFAULT_LEVEL
Logger.const_get(level.to_s.upcase)
end
|
.logger ⇒ Object
16
17
18
|
# File 'lib/exel/logging.rb', line 16
def self.logger
@logger || initialize_logger
end
|
.logger=(logger) ⇒ Object
36
37
38
|
# File 'lib/exel/logging.rb', line 36
def self.logger=(logger)
@logger = logger ? LoggerWrapper.new(logger) : Logger.new('/dev/null')
end
|
.prefix ⇒ Object
49
50
51
|
# File 'lib/exel/logging.rb', line 49
def self.prefix
Thread.current[:exel_log_prefix]&.last
end
|
.with_prefix(prefix) ⇒ Object
Sets a prefix to be added to any messages sent to the EXEL logger in the given block.
41
42
43
44
45
46
47
|
# File 'lib/exel/logging.rb', line 41
def self.with_prefix(prefix)
Thread.current[:exel_log_prefix] ||= []
Thread.current[:exel_log_prefix].push(prefix)
yield
ensure
Thread.current[:exel_log_prefix].pop
end
|