Sha256: 539a154a43a3b71263735730331082296e2870226130ff5bc62d57cf4d390c35
Contents?: true
Size: 1.27 KB
Versions: 18
Compression:
Stored size: 1.27 KB
Contents
module PierLogging module Helpers class EnvConfig def self.for(logger = nil, log_dir: 'log', log_file: PierLogging.logger_configuration.env) { enabled: log_enabled(logger), output: log_output(logger, log_dir, log_file), level: log_level(logger), } end private def self.log_output(logger, log_dir, log_file) return nil unless log_enabled(logger) log_output_env = ENV.fetch(output_env_var(logger), 'STDOUT').upcase log_output_env == 'STDOUT' ? STDOUT : output_file_name(log_dir, log_file) end def self.log_enabled(logger) ENV.fetch(enabled_env_var(logger), 'true') == 'true' end def self.log_level(logger) ENV.fetch(level_env_var(logger), 'info').upcase end def self.output_env_var(logger) ['LOG', logger ,'OUTPUT'].compact.join('_').upcase end def self.enabled_env_var(logger) ['LOG', logger ,'ENABLED'].compact.join('_').upcase end def self.level_env_var(logger) ['LOG', logger ,'LEVEL'].compact.join('_').upcase end def self.output_file_name(log_dir, log_file) [ [ log_dir, log_file ].join('/'), 'log' ].join('.') end end end end
Version data entries
18 entries across 18 versions & 1 rubygems