summaryrefslogtreecommitdiff
path: root/lib/gitlab/sidekiq_logging/json_formatter.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/gitlab/sidekiq_logging/json_formatter.rb')
-rw-r--r--lib/gitlab/sidekiq_logging/json_formatter.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/gitlab/sidekiq_logging/json_formatter.rb b/lib/gitlab/sidekiq_logging/json_formatter.rb
new file mode 100644
index 00000000000..98f8222fd03
--- /dev/null
+++ b/lib/gitlab/sidekiq_logging/json_formatter.rb
@@ -0,0 +1,21 @@
+module Gitlab
+ module SidekiqLogging
+ class JSONFormatter
+ def call(severity, timestamp, progname, data)
+ output = {
+ severity: severity,
+ time: timestamp.utc.iso8601(3)
+ }
+
+ case data
+ when String
+ output[:message] = data
+ when Hash
+ output.merge!(data)
+ end
+
+ output.to_json + "\n"
+ end
+ end
+ end
+end