class Loggun::Config
Class for configurations
Constants
- DEFAULTS
- DEFAULT_MODIFIERS
- LOG_FORMATS
- MESSAGE_FORMATS
Attributes
custom_modifiers[RW]
exclude_keys[RW]
force_utc[RW]
formatter[RW]
log_format[RW]
message_format[RW]
modifiers[RW]
only_keys[RW]
parent_transaction_to_message[RW]
pattern[RW]
precision[RW]
Public Class Methods
check_config()
click to toggle source
# File lib/loggun/config.rb, line 78 def check_config unless MESSAGE_FORMATS.include? instance.message_format raise FailureConfiguration, 'Unknown value for message_format' end unless LOG_FORMATS.include? instance.log_format raise FailureConfiguration, 'Unknown value for log_format' end end
configure(&block)
click to toggle source
# File lib/loggun/config.rb, line 59 def configure(&block) block.call(instance) use_modifiers check_config instance end
new()
click to toggle source
# File lib/loggun/config.rb, line 43 def initialize @formatter = Loggun::Formatter.new @precision = DEFAULTS[:precision] @pattern = DEFAULTS[:pattern] @parent_transaction_to_message = DEFAULTS[:parent_transaction_to_message] @message_format = DEFAULTS[:message_format] @log_format = DEFAULTS[:log_format] @force_utc = DEFAULTS[:force_utc] @modifiers = Loggun::OrderedOptions.new @custom_modifiers = [] @exclude_keys = [] @only_keys = [] set_default_modifiers end
setup_formatter(app, formatter = nil)
click to toggle source
# File lib/loggun/config.rb, line 88 def setup_formatter(app, formatter = nil) Loggun.logger = app.logger Loggun.logger.formatter = formatter || instance.formatter end
use_modifiers()
click to toggle source
# File lib/loggun/config.rb, line 66 def use_modifiers DEFAULT_MODIFIERS.each do |modifier| next unless instance.modifiers.public_send(modifier)&.enable require_relative "modifiers/#{modifier}" klass = Loggun::Modifiers.const_get(modifier.to_s.camelize) klass.use end instance.custom_modifiers.each(&:use) end
Public Instance Methods
add_modifier(modifier)
click to toggle source
# File lib/loggun/config.rb, line 104 def add_modifier(modifier) return unless modifier.respond_to? :use custom_modifiers << modifier end
set_default_modifiers()
click to toggle source
# File lib/loggun/config.rb, line 94 def set_default_modifiers DEFAULT_MODIFIERS.each do |modifier| modifiers[modifier] = Loggun::OrderedOptions.new modifiers[modifier].enable = false next unless DEFAULTS[modifier].is_a?(Hash) modifiers[modifier].merge!(DEFAULTS[modifier]) end end
timestamp_precision()
click to toggle source
# File lib/loggun/config.rb, line 110 def timestamp_precision case precision when :sec, :seconds then 0 when :millis, :milliseconds, :ms then 3 when :micros, :microseconds, :us then 6 when :nanos, :nanoseconds, :ns then 9 else 3 # milliseconds end end