38

access_logNginx ではカスタム ログ形式を指定できますが、 error_log.

これを達成する方法はありますか?

4

4 に答える 4

24

独自の形式を指定することはできませんが、nginx ビルドではいくつかのレベルの error_log-ing が組み込まれています。

構文:error_log file [ debug | info | notice | warn | error | crit ]

デフォルト:${prefix}/logs/error.log

サーバー (および fastcgi) のエラーが記録されるファイルを指定します。

エラー レベルのデフォルト値:

  1. メインセクション - エラー
  2. HTTP セクション - クリティカル
  3. サーバーセクション - クリティカル

私のerror_logでは、ログ内の各エラー文字列のint beginが常に示されていました。

于 2010-11-26T05:01:40.877 に答える
7

そのためのハックがあります。

アクセス ログの形式はカスタマイズできますが、エラー ログの形式はカスタマイズできません。そのハックは、カスタマイズされたエラー ログに対して、エラーが発生した場合にのみアクセス ログを生成することです。

これは、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;
    }
  }
}
于 2015-11-17T10:08:00.770 に答える
5

nginx エラー ログの形式を変更したいときに使用した汚いトリック (この場合、Lua から openresty のメソッドを使用して自分のログを送信する場合) は、すべての情報を削除するのに十分な (バックスペース) 文字をngx.log自分のログ メッセージの前に付けるというものでした。\b実行中の表示には興味がありませんでしたtail -f error.log

于 2012-08-10T00:44:11.657 に答える