Class: Prefab::LoggerClient

Inherits:
Object
  • Object
show all
Defined in:
lib/prefab/logger_client.rb

Constant Summary collapse

SEP =
'.'
BASE_KEY =
'log-level'
NO_DEFAULT =
nil
LOG_LEVEL_LOOKUPS =
{
  PrefabProto::LogLevel::NOT_SET_LOG_LEVEL => :trace,
  PrefabProto::LogLevel::TRACE => :trace,
  PrefabProto::LogLevel::DEBUG => :debug,
  PrefabProto::LogLevel::INFO => :info,
  PrefabProto::LogLevel::WARN => :warn,
  PrefabProto::LogLevel::ERROR => :error,
  PrefabProto::LogLevel::FATAL => :fatal
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(client:, log_path_aggregator:) ⇒ LoggerClient

Returns a new instance of LoggerClient.



19
20
21
22
# File 'lib/prefab/logger_client.rb', line 19

def initialize(client: ,log_path_aggregator: )
  @config_client = client
  @log_path_aggregator = log_path_aggregator
end

Instance Method Details

#config_client=(config_client) ⇒ Object



36
37
38
# File 'lib/prefab/logger_client.rb', line 36

def config_client=(config_client)
  @config_client = config_client
end

#semantic_filter(log) ⇒ Object



29
30
31
32
33
34
# File 'lib/prefab/logger_client.rb', line 29

def semantic_filter(log)
  class_path = class_path_name(log.name)
  level = SemanticLogger::Levels.index(log.level)
  log.named_tags.merge!({ path: class_path })
  should_log? level, class_path
end

#should_log?(severity, path) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
27
# File 'lib/prefab/logger_client.rb', line 24

def should_log?(severity, path)
  @log_path_aggregator&.push(path, severity)
  severity >= level_of(path)
end