module Vx::Lib::Logger::LogstashFormatter

Public Class Methods

call(level, progname, message, payload) click to toggle source
# File lib/vx/lib/logger/logstash_formatter.rb, line 13
def self.call(level, progname, message, payload)
  m = ::Oj.dump(
    payload.merge(
      MESSAGE:           message.to_s,
      SYSLOG_IDENTIFIER: progname,
      _EXE:              @@exe,
      _GID:              @@gid,
      _UID:              @@uid,
      _PID:              @@pid,
      _HOSTNAME:         @@host,
      level:             level,
    ),
    mode: :compat
  )
  m.encode("UTF-8", invalid: :replace, replace: "?") << "\n"
end