module SSTLogger

Constants

LOG_LEVELS

Public Class Methods

logger() click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 16
def logger
  @logger ||= new_logger
end

Private Class Methods

append_file_logger(logger) click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 40
def append_file_logger(logger)
  return if log_file == 'none'

  FileUtils.mkdir_p(File.dirname(log_file))
  new_file = Logging.appenders.file(
    log_file,
    layout: Logging.layouts.pattern(pattern: "[%d] %-5l : %m\n")
  )
  new_file.level = log_file_level
  logger.add_appenders new_file
end
append_stdout_logger(logger) click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 31
def append_stdout_logger(logger)
  return if log_stdout_level.nil?

  new_stdout = Logging.appenders.stdout
  new_stdout.level = log_stdout_level
  new_stdout.layout = Logging.layouts.pattern(pattern: "%-5l : %m\n")
  logger.add_appenders new_stdout
end
log_file() click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 52
def log_file
  env = SearchSolrTools::SolrEnvironments[]
  ENV.fetch('SEARCH_SOLR_LOG_FILE', nil) || env[:log_file]
end
log_file_level() click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 57
def log_file_level
  env = SearchSolrTools::SolrEnvironments[]
  log_level(ENV.fetch('SEARCH_SOLR_LOG_LEVEL', nil) || env[:log_file_level])
end
log_level(level) click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 67
def log_level(level)
  LOG_LEVELS.include?(level) ? level : nil
end
log_stdout_level() click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 62
def log_stdout_level
  env = SearchSolrTools::SolrEnvironments[]
  log_level(ENV.fetch('SEARCH_SOLR_STDOUT_LEVEL', nil) || env[:log_stdout_level])
end
new_logger() click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 22
def new_logger
  logger = Logging.logger['search_solr_tools']

  append_stdout_logger(logger)
  append_file_logger(logger)

  logger
end

Public Instance Methods

logger() click to toggle source
# File lib/search_solr_tools/logging/sst_logger.rb, line 11
def logger
  SSTLogger.logger
end