Nginxロギングを無効にする方法は?


27

構成ファイルに次のものがあります

server {
    listen       80;
    server_name  _;
    access_log  /var/log/nginx/access.log  main;
  ...

server {
    listen       80;
    server_name  example.com
    access_log  off;
    error_log off;

ただし、example.com仮想ホストのログは引き続き記録されます。何が間違っていますか?


ここで「メイン」に何をするつもりですか?
エヴァンキャロル

この質問に削除のフラグを付けました。これは、最も賛成の答えが構文エラーに関係しているためです。エラーロギングをオフにすることとは関係ありません。検索可能なエラーメッセージはありません。また、あなたが何を求めているのか、提供された回答が問題を解決しない理由がわかりません。
エヴァンキャロル

回答:


31

;server_nameディレクティブの後にありません。access_logそしてoff、追加SERVER_NAMESとして扱われています。


12
さらに、error_log off; エラーログをオフにしません。「off」という名前のファイルにエラーを記録するだけです。エラーログを完全に無効にする方法はありません。最も近いのはerror_log / dev / null critです。エラーログは表示されないため、これはほとんど同じです。
11

6
実際、これを行うaccess_log off;と、nginxはをというファイルにログを書き込みますoff。したがって、これは正しい答えではありません。
user965363

4
実際、これは正解です。:オフ「使用『』として唯一のパラメータは、現在のレベルのすべてのaccess_logのディレクティブをクリアします」wiki.nginx.org/HttpLogModule#access_log。(@kolbyjackによって追加された)error_logには当てはまりませんが、質問はエラーログではなく、アクセスに関するものだと思います。いくつかの非常に古いバージョンのnginxはこれをサポートしていない可能性があります。
rvs

off代わりに使用する利点はあり/dev/nullますか?場合offという名前のファイルにnginxの書き込みのいくつかのバージョンが発生しoff、その後、/dev/nullより普遍的解決策のように思えます。
ジョーモーニン

20

もちろん、ロギングを完全に無効にすることができます。ログファイルを/ dev / nullにポイントするだけで完了です。;)

access_log  /dev/null;
error_log /dev/null;

3
私もこれを使用します。/dev/null実際の目的地です。いくつかのディレクトリ内のファイルである「オフ」しばらく
edoceo

4
これは公式の推奨方法ではありません。「オフ」を使用するのが正しい方法です。
user1751825

/ var / nullにして、varディレクトリの「null」という名前のファイルにログの保存を開始しました。「/ dev / null」のみにする必要がありますか?
ガウラフ

13

を使用access_logして無効にすることができます

access_log off;

ただし、error_logを無効にする場合は、confでerror_logオプションを使用しないでください。


2
これは以前の回答にどのように追加されていますか?
デイブM

1
Cuz、前の答えは役に立たない!それを使用しないでください
ムスタファÖzgür17年

2
構成にerror_logオプションが含まれていない場合、nginxのデフォルトは「error_log logs / error.log error」になります:nginx.org/en/docs/ngx_core_module.html#error_log
Julian Ladisch

ええ、そうです。だから、/ dev / nullまたは他の何かが必要ですか?あなたの提案は何ですか?
ムスタファÖzgür18年

これは、ログファイルが作成されますので、この答えが間違っている「は、/ usr / share / nginxの/オフ」
DanielKhan

1

それはかなりシンプルなはずです、あなたはログ行をコメントアウトすることができます

server {
    listen       80;
    server_name  _;
    #access_log  /var/log/nginx/access.log  main;
  ...

server {
    listen       80;
    server_name  example.com
    #access_log  off;
    #error_log off;

クリティカルエラーが発生した場合は、「error_log / dev / null crit;」のようにしてください。

server {
    listen       80;
    server_name  _;
    access_log  /dev/null crit;
  ...

server {
    listen       80;
    server_name  example.com
    access_log  /dev/null crit;
    error_log /dev/null crit;

「オフ」を使用しないでください。以下で説明するように、これにより、nginxのホームディレクトリに「off」というログファイルが作成されます。
DanielKhan

0

Nginxポストの条件付きログに基づいていますが、変数を使用してリクエストのログを決定する代わりに、定数値0を使用します。

server {
listen       80;
server_name  _;
access_log  /var/log/nginx/access.log  main;
}

server {
listen       80;
server_name  example.com
access_log  /var/log/nginx/access.log if=0;
error_log /var/log/nginx/error.log if=0;
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.