diff --git a/lib/console/compatible/logger.rb b/lib/console/compatible/logger.rb index ce7ca2a..865d014 100644 --- a/lib/console/compatible/logger.rb +++ b/lib/console/compatible/logger.rb @@ -62,7 +62,7 @@ def initialize(subject, output = Console) # @parameter message [String] The message to log. # @parameter progname [String] The program name. # @returns [Boolean] True if the message was logged. - def add(severity, message = nil, progname = nil) + def add(severity, message = nil, progname = nil, **options) severity ||= UNKNOWN if @logdev.nil? or severity < level @@ -84,6 +84,7 @@ def add(severity, message = nil, progname = nil) @logdev.call( progname, message, + **options, severity: format_severity(severity) ) diff --git a/test/console/compatible/logger.rb b/test/console/compatible/logger.rb index 1b39047..3f3decc 100644 --- a/test/console/compatible/logger.rb +++ b/test/console/compatible/logger.rb @@ -43,4 +43,10 @@ expect(logger.level).to be_a(Integer) expect(logger.level).to be == ::Logger::DEBUG end + + it "accepts keyword arguments and passes them to the log device" do + logger.add(Logger::INFO, "Hello World", request_id: 137) + + expect(stream.string).to be(:include?, '"request_id": 137') + end end