1. ホーム
  2. nginx

[解決済み] nginx の access_log と error_log をマスタープロセスの STDOUT と STDERR に記録させる

2022-04-15 11:32:41

質問

マスタープロセスのログをファイルではなく、STDOUT STDERRに記録させる方法はありますか?

access_logディレクティブには、ファイルパスしか渡せないようです。

access_log  /var/log/nginx/access.log

また、error_logも同様です。

error_log /var/log/nginx/error.log

これは単にnginxの機能ではないかもしれないことは理解しています。例えば、tailを使用した簡潔なソリューションに興味があります。私はnginxをフォアグラウンドで実行しているので、それがマスタープロセスから来ることが望ましいです。

どのように解決するのですか?

編集する。 をサポートするようになったようです。 error_log stderr; にあるように Anonさんの回答 .

ログを送ることができます。 /dev/stdout . で nginx.conf :

daemon off;
error_log /dev/stdout info;

http {
  access_log /dev/stdout;
  ...
}

edit: 実行する必要があるかもしれません。 ln -sf /proc/self/fd /dev/ です。 特定のドッカーコンテナを使用している場合は /dev/fd/1 または /dev/fd/2