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
# File 'lib/berkeley_library/logging/loggers.rb', line 11

def default_logger
  rails_logger || new_default_logger
end

.new_default_logger(config = nil) ⇒ Object

TODO: support passing a hash / passing default_log_file

Raises:

  • (ArgumentError)


16
17
18
19
20
21
22
23
# File 'lib/berkeley_library/logging/loggers.rb', line 16

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



25
26
27
# File 'lib/berkeley_library/logging/loggers.rb', line 25

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

.new_readable_logger(logdev) ⇒ Object



29
30
31
# File 'lib/berkeley_library/logging/loggers.rb', line 29

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