Module: Vx::Lib::Logger::JournalFormatter

Defined in:
lib/vx/lib/logger/journal_formatter.rb

Constant Summary collapse

@@exe =
$PROGRAM_NAME
@@gid =
::Process.gid
@@uid =
::Process.uid
@@pid =
::Process.pid
@@host =
::Socket.gethostname

Class Method Summary collapse

Class Method Details

.call(level, progname, message, payload) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/vx/lib/logger/journal_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