Class: Kybus::Logger::Config
- Inherits:
-
Object
- Object
- Kybus::Logger::Config
- Includes:
- DRY::ResourceInjector, Format
- Defined in:
- lib/kybus/logger/config.rb
Constant Summary collapse
- SEVERITIES =
{ 'debug' => ::Logger::DEBUG, 'info' => ::Logger::INFO, 'warn' => ::Logger::WARN, 'error' => ::Logger::ERROR, 'fatal' => ::Logger::FATAL }.freeze
Class Method Summary collapse
Instance Method Summary collapse
- #init_log_file ⇒ Object
-
#initialize(config) ⇒ Config
constructor
A new instance of Config.
- #logger ⇒ Object
- #merge_params(msg, data, debug) ⇒ Object
Methods included from Format
Constructor Details
#initialize(config) ⇒ Config
34 35 36 37 38 39 40 41 42 |
# File 'lib/kybus/logger/config.rb', line 34 def initialize(config) @original_config = config init_log_file register('date_format', config['date_format'] || '%Y-%m-%d %H:%M:%S') register('severity', config['severity'] || 'info') register('log_format', config['log_format'] || "%time,%sev,%pid,%tid,%mod,%json\n") register('blacklist', config['blacklist'] || %w[pass password]) register('logger', logger) end |
Class Method Details
.from_config(config) ⇒ Object
19 20 21 |
# File 'lib/kybus/logger/config.rb', line 19 def self.from_config(config) new(config) end |
Instance Method Details
#init_log_file ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/kybus/logger/config.rb', line 23 def init_log_file log_output = if @original_config['stdout'].nil? || @original_config['stdout'] $stdout else @original_config['file'] || 'application.log' end register('file', log_output) register('rotate_days', @original_config['rotate_days'] || 7) register('rotate_size', @original_config['rotate_size'] || (100 * (1024**2))) # 100Mb end |
#logger ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
# File 'lib/kybus/logger/config.rb', line 44 def logger @logger ||= begin log_output = resource('file') logger = if log_output == $stdout ::Logger.new(log_output) else ::Logger.new( log_output, resource('rotate_days'), resource('rotate_size') ) end $stdout.sync = true if @original_config['stdout'] logger.sev_threshold = SEVERITIES[resource('severity')] logger.datetime_format = resource('date_format') logger.formatter = format_builder(resource('log_format')) logger end end |
#merge_params(msg, data, debug) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/kybus/logger/config.rb', line 64 def merge_params(msg, data, debug) blacklist = resource('blacklist') + ['debug'] params = {} data.each { |k, v| params[k] = v unless blacklist.include?(k.to_s) } params[:debug] = debug if resource('severity') == 'debug' [msg, params] end |