class Karafka::Instrumentation::Logger
@note It uses ::Logger features - providing basic logging
Default logger for Event Delegator
def ensure_dir_exists
def ensure_dir_exists dir = File.dirname(log_path) FileUtils.mkdir_p(dir) unless Dir.exist?(dir) end
def file
- Note: - File is being opened in append mode ('a')
Returns:
-
(File)
- file to which we want to write our logs
def file @file ||= File.open(log_path, 'a') end
def initialize(*_args)
def initialize(*_args) ensure_dir_exists super(target) self.level = ENV_MAP[Karafka.env] || ENV_MAP['default'] end
def log_path
-
(Pathname)
- Path to a file to which we should log
def log_path @log_path ||= Karafka::App.root.join("log/#{Karafka.env}.log") end
def target
-
(Karafka::Helpers::MultiDelegator)
- multi delegator instance
def target Karafka::Helpers::MultiDelegator .delegate(:write, :close) .to(STDOUT, file) end