Module: Konsierge::Logger
- Defined in:
- lib/konsierge/logger.rb,
lib/konsierge/logger/version.rb,
lib/konsierge/logger/level_filtered_logger.rb
Defined Under Namespace
Classes: LevelFilteredLogger
Constant Summary
collapse
- VERSION =
'0.1.0'
Class Method Summary
collapse
Class Method Details
.build_default_logger ⇒ Object
24
25
26
|
# File 'lib/konsierge/logger.rb', line 24
def build_default_logger
::Logger.new($stdout, formatter: ->(_, _, _, msg) { "#{msg}\n" })
end
|
.resolve(logger:, log_level:, default_logger: nil) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/konsierge/logger.rb', line 10
def resolve(logger:, log_level:, default_logger: nil)
level = resolve_level(log_level)
configured_logger = resolve_config_value(logger)
return LevelFilteredLogger.new(configured_logger, level: level) if configured_logger
rails_logger = resolve_rails_logger
return LevelFilteredLogger.new(rails_logger, level: level) if rails_logger
backend = default_logger || build_default_logger
backend.level = level if backend.respond_to?(:level=)
backend
end
|
.resolve_config_value(value) ⇒ Object
43
44
45
|
# File 'lib/konsierge/logger.rb', line 43
def resolve_config_value(value)
value.respond_to?(:call) ? value.call : value
end
|
.resolve_level(log_level) ⇒ Object
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/konsierge/logger.rb', line 28
def resolve_level(log_level)
level = resolve_config_value(log_level)
case level
when Integer
level
when String, Symbol
::Logger::Severity.const_get(level.to_s.upcase)
else
::Logger::INFO
end
rescue NameError
::Logger::INFO
end
|