From cc9ac1222ae218ae66dd206d82e0e93f056a203b Mon Sep 17 00:00:00 2001 From: Alex Malkov Date: Thu, 18 Aug 2016 13:27:53 +0100 Subject: [PATCH] [MH] Allow Sapience::Configuration to accept options --- lib/sapience/configuration.rb | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/lib/sapience/configuration.rb b/lib/sapience/configuration.rb index f912b79..b979071 100644 --- a/lib/sapience/configuration.rb +++ b/lib/sapience/configuration.rb @@ -7,14 +7,25 @@ class Configuration attr_writer :host attr_accessor :application, :ap_options, :appenders - def initialize + DEFAULT = { + default_level: :info, + backtrace_level: :info, + application: "Sapience", + host: nil, + ap_options: { multiline: false }, + appenders: [{ file: { io: STDOUT, formatter: :color } }], + } + + def initialize(options) # Initial default Level for all new instances of Sapience::Logger - self.default_level = :info - self.backtrace_level = :info - self.application = "Sapience" - self.host = nil - self.ap_options = { multiline: false } - self.appenders = [{ file: { io: STDOUT, formatter: :color } }] + @options = DEFAULT.merge(options) + + self.default_level = @options[:default_level] + self.backtrace_level = @options[:backtrace_level] + self.application = @options[:application] + self.host = @options[:host] + self.ap_options = @options[:ap_options] + self.appenders = @options[:appenders] end # Sets the global default log level