【Datadog】【Rails】Railsのログを出力するとき「日付とプロセスID、リクエストID」を出力されないようにする

はじめに

Webサービスの開発でDatadogのLog Managementを使うときの小ネタ。

lograge というライブラリを使い、Datadog Logsにログを転送していたのですが
標準ログ+JSONという形になってしまいLogsで自動で解析してもらえなくなってしまった。

なので、標準ログも含めたい場合JSONの中に入れてやると良いです。

環境

前提条件

lograge を使って何かしらログが出力されていること。

調査

logrageJSON化したにも関わらず、日付とプロセスID、リクエストIDが出てしまう。

I, [2020-08-24T15:54:36.321933 #1]  INFO -- : [95a6f86c-c6ca-45fa-a9e9-1e6ee241d034] .... 以下略

原因と解決方法

制御しているのは /enviroment/production.log にありました。

# Prepend all log lines with the following tags.
config.log_tags = [:request_id]

# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new

これを無効にすれば出力されなくなります。

まとめ

これで本番環境で正常にDatadogでログが解析できるようになりました。

参考

Railsのログについて(Rails.logger) | 酒と涙とRubyとRailsと