diff --git a/lib/discourse_logstash_logger.rb b/lib/discourse_logstash_logger.rb index 96f8ca653de..00881380f65 100644 --- a/lib/discourse_logstash_logger.rb +++ b/lib/discourse_logstash_logger.rb @@ -99,7 +99,7 @@ class DiscourseLogstashLogger < Logger if progname == "sidekiq-exception" event["job.class"] = opts.dig(:context, :job) - event["job.opts"] = opts.dig(:context, :opts) + event["job.opts"] = opts.dig(:context, :opts)&.stringify_keys&.to_s event["job.problem_db"] = opts.dig(:context, :problem_db) event["exception.class"] = opts[:exception_class] event["exception.message"] = opts[:exception_message] diff --git a/spec/lib/discourse_logstash_logger_spec.rb b/spec/lib/discourse_logstash_logger_spec.rb index 54a2048055a..ed433569077 100644 --- a/spec/lib/discourse_logstash_logger_spec.rb +++ b/spec/lib/discourse_logstash_logger_spec.rb @@ -74,7 +74,7 @@ RSpec.describe DiscourseLogstashLogger do expect(parsed["exception.class"]).to eq("Some::StandardError") expect(parsed["exception.message"]).to eq("some job error message") expect(parsed["job.class"]).to eq("SomeJob") - expect(parsed["job.opts"]).to eq({ "user_id" => 1 }) + expect(parsed["job.opts"]).to eq("{\"user_id\"=>1}") expect(parsed["job.problem_db"]).to eq("some_db") end end