Module: BerkeleyLibrary::Logging::Loggers

Defined in:
lib/berkeley_library/logging/loggers.rb

Constant Summary collapse

FALLBACK_LOG_DIR =
'log'.freeze

Class Method Summary collapse

Class Method Details

.default_loggerObject



11
12
13
14
15
16
17
18
19
# File 'lib/berkeley_library/logging/loggers.rb', line 11

def default_logger
  if defined?(Rails)
    return Rails.logger if Rails.logger

    warn('Rails is defined, but Rails logger is nil')
  end

  new_default_logger
end

.new_default_logger(config = nil) ⇒ Object

TODO: support passing a hash / passing default_log_file

Raises:

  • (ArgumentError)


22
23
24
25
26
27
28
29
# File 'lib/berkeley_library/logging/loggers.rb', line 22

def new_default_logger(config = nil)
  return new_readable_logger($stdout) unless config
  return new_json_logger($stdout) if Logging.env.production?
  return rails_file_logger(config) if Logging.env.test?
  return new_broadcast_logger(config) if Logging.env.development?

  raise ArgumentError, "Can't create logger for environment: #{Logging.env.inspect}"
end

.new_json_logger(logdev) ⇒ Object



31
32
33
# File 'lib/berkeley_library/logging/loggers.rb', line 31

def new_json_logger(logdev)
  new_logger_with(logdev: logdev, formatter: Formatters.new_json_formatter)
end

.new_readable_logger(logdev) ⇒ Object



35
36
37
# File 'lib/berkeley_library/logging/loggers.rb', line 35

def new_readable_logger(logdev)
  new_logger_with(logdev: logdev, formatter: Formatters.new_readable_formatter)
end