2017-02-08 13 views
2

私はこのロギング設定がセットアップされている:gunicornサーバーの下でプロダクション用のdjangoログを設定するにはどうすればいいですか?

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 
    'filters': { 
     'require_debug_false': { 
      '()': 'django.utils.log.RequireDebugFalse' 
     } 
    }, 
    'formatters': { 
     'verbose': { 
      'format': '%(asctime)s %(levelname)s [%(name)s:%(lineno)s] %(module)s %(process)d %(thread)d %(message)s' 
     } 
    }, 
    'handlers': { 
     'console': { 
      'level': 'INFO', 
      'class': 'logging.StreamHandler', 
      'stream': sys.stdout, 
      'formatter': 'verbose' 
     } 
    }, 
    'loggers': { 
     'gunicorn.errors': { 
      'level': 'INFO', 
      'handlers': ['console'], 
      'propagate': True, 
     }, 
    } 
} 

全く効果がないようです。 DEBUGフラグがTrueに設定されている場合、コンソールにエラーが表示されます。しかし、それがFalseに設定されていると、私はできません。だからDEBUGフラグが片方向に設定されているにもかかわらず、エラーをコンソールに記録する方法はありますか?ジャンゴ1.9

+0

あなたはどんなdjangoバージョンを使用していますか? – HassenPy

+0

Djangoのバージョンは1.10です –

答えて

2

default logging configuration has been changed:それは簡単にカスタムログ構成を記述することにするためにデフォルトのロギングconfiguration¶

変更、Djangoの デフォルトのロギング設定は、もはや「django.request」を定義していません「django.security」ロガーの 代わりに、INFOレベルでフィルタリングされた単一の 'django' ロガーを2つのハンドラで定義します。

'console':INFOレベルでフィルタリングされ、DEBUG = Trueの場合のみアクティブになります。 'mail_admins':エラーレベルでフィルタリングされ、 DEBUG = Falseの場合のみアクティブになります。 Djangoのデフォルトのログを上書きしない場合は、 の動作の変化は最小限に抑えられますが、たとえばrunserverコンソールに新しい ログが記録されることがあります。

Djangoのデフォルトのログ記録を上書きする場合は、 にチェックして、設定が新しいデフォルトとどのようにマージするかを確認する必要があります。

だから、あなたは、単にデフォルトの設定を無効にされて何をする必要があるか、あなたのloggersにこれを追加します。

'django':{ 
    'level': 'INFO', 
    'handlers': ['console'], 
    'propagate': True, 
} 

ロギングが文句を言わない慰める今DEBUGに依存します。

希望すると便利です。

+1

うん、それは助けた。ありがとう! –

+0

また、 'gunicorn.error'と' disable_existing_loggers'を削除することができると思います。追加の設定が必要な場合以外は – HassenPy

+0

私は実際にgunicorn.errorをあなたが提供した内容で置き換えました。 –

関連する問題