Nginxでアクセスログのカスタムログ形式を指定できますが、エラーログでは機能しません。エラーが発生したときはいつでも見たいです。出来ますか?
独自の形式を指定することはできませんが、nginxビルドインでは、いくつかのレベルのerror_log-ingを使用できます。
構文:error_log file [ debug | info | notice | warn | error | crit ]
デフォルト: ${prefix}/logs/error.log
サーバー(およびfastcgi)エラーが記録されるファイルを指定します。
エラーレベルのデフォルト値:
私のerror_logでは、時間は常にログ内の各エラー文字列の始まりのintで表示されます。
Nginxエラーログのフォーマットを変更したいとき(この場合、openrestyのngx.log
メソッドでLuaから自分のログを送信するとき)に使用した汚いトリックは、すべてのログメッセージに十分な\b
(バックスペース)文字を付けてすべて削除することでしたtail -f error.log
を実行しているときに表示したくない情報。
そのためのハックがあります。
アクセスログの形式はカスタマイズできますが、エラーログの形式はカスタマイズできません。したがって、ハックは、カスタマイズされたエラーログの場合、エラーが発生したときにのみアクセスログを生成します。
これは、error_pageディレクティブを使用して行うことができます。
http {
...
log_format custom_combined "...";
server {
...
error_page 50x @create_custom_error50x;
...
location @create_custom_error50x {
access_log path custom_combined;
return 50x;
}
}
}