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
19
20
21
22
23
24
|
# File 'lib/exel/logging.rb', line 19
def self.initialize_logger
@logger = Logger.new(log_filename)
@logger.level = log_level
@logger.formatter = PrefixFormatter.new
@logger
end
|
.log_filename ⇒ Object
26
27
28
|
# File 'lib/exel/logging.rb', line 26
def self.log_filename
EXEL.configuration.log_filename || '/dev/null'
end
|
.log_level ⇒ Object
30
31
32
33
|
# File 'lib/exel/logging.rb', line 30
def self.log_level
level = EXEL.configuration.log_level || DEFAULT_LEVEL
Logger.const_get(level.to_s.upcase)
end
|
.logger ⇒ Object
15
16
17
|
# File 'lib/exel/logging.rb', line 15
def self.logger
@logger || initialize_logger
end
|
.logger=(logger) ⇒ Object
35
36
37
|
# File 'lib/exel/logging.rb', line 35
def self.logger=(logger)
@logger = logger ? LoggerWrapper.new(logger) : Logger.new('/dev/null')
end
|
.prefix ⇒ Object
48
49
50
|
# File 'lib/exel/logging.rb', line 48
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.
40
41
42
43
44
45
46
|
# File 'lib/exel/logging.rb', line 40
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
|