diff --git a/lib/appsignal/logger.rb b/lib/appsignal/logger.rb index 09432197..71dc3b5b 100644 --- a/lib/appsignal/logger.rb +++ b/lib/appsignal/logger.rb @@ -20,21 +20,23 @@ class Logger < ::Logger FATAL => 7 }.freeze - attr_reader :level, :default_attributes + attr_reader :level # Create a new logger instance # # @param group Name of the group for this logger. - # @param level Log level to filter with + # @param level Minimum log level to report. Log lines below this level will be ignored. + # @param format Format to use to parse log line attributes. + # @param attributes Default attributes for all log lines. # @return [void] - def initialize(group, level: INFO, format: PLAINTEXT, default_attributes: {}) + def initialize(group, level: INFO, format: PLAINTEXT, attributes: {}) raise TypeError, "group must be a string" unless group.is_a? String @group = group @level = level @format = format @mutex = Mutex.new - @default_attributes = default_attributes + @default_attributes = attributes end # We support the various methods in the Ruby @@ -157,6 +159,8 @@ def silence(_severity = ERROR, &block) private + attr_reader :default_attributes + def add_with_attributes(severity, message, group, attributes) Thread.current[:appsignal_logger_attributes] = default_attributes.merge!(attributes) add(severity, message, group) diff --git a/spec/lib/appsignal/logger_spec.rb b/spec/lib/appsignal/logger_spec.rb index f65ac7a3..22121d29 100644 --- a/spec/lib/appsignal/logger_spec.rb +++ b/spec/lib/appsignal/logger_spec.rb @@ -184,7 +184,7 @@ describe "a logger with default attributes" do it "adds the attributes when a message is logged" do - logger = Appsignal::Logger.new("group", :default_attributes => { :some_key => "some_value" }) + logger = Appsignal::Logger.new("group", :attributes => { :some_key => "some_value" }) expect(Appsignal::Extension).to receive(:log).with("group", 6, 0, "Some message", Appsignal::Utils::Data.generate({ :other_key => "other_value", :some_key => "some_value" }))