lib/semantic_logger/formatters/fluentd.rb
require "json" module SemanticLogger module Formatters # Fluentd is similar to SemanticLogger::Formatters::Json but with log levels that are recognized # by kubernetes fluentd. class Fluentd < Json attr_reader :need_process_info def initialize(time_format: :rfc_3339, time_key: :time, need_process_info: false, **args) @need_process_info = need_process_info super(time_format: time_format, time_key: time_key, **args) end def level hash["severity"] = log.level hash["severity_index"] = log.level_index end def process_info # Ignore fields: pid, thread, file and line by default super if need_process_info end end end end