[解決済み] Django セットアップ デフォルトのログ記録
質問
私の Django インストールのために "default" logger をセットアップする方法がわからないようです。私は Django 1.3 の新しい
LOGGING
の設定に
settings.py
.
を見てみると Django Logging Doc の例 を見ましたが、特定のロガーに対してのみロギングを行うハンドラをセットアップしているように見えます。彼らの例の場合、'django', 'django.request', そして 'myproject.custom' という名前のロガーに対してハンドラをセットアップしています。
私がしたいことは、デフォルトの
logging.handlers.RotatingFileHandler
を設定することです。つまり、もし私がプロジェクトのどこかに新しいモジュールを作り、それが以下のようなもので示されるとします。
my_app_name.my_new_module
のようなもので、これを行うことができ、すべてのロギングが回転ファイルのログを得ることができるはずです。
# In file './my_app_name/my_new_module.py'
import logging
logger = logging.getLogger('my_app_name.my_new_module')
logger.debug('Hello logs!') # <-- This should get logged to my RotatingFileHandler that I setup in `settings.py`!
どのように解決するのですか?
解決した...
空文字列で参照することで、'catch all' logger を設定します。
''
.
例として、次の設定では、すべてのログイベントを
logs/mylog.log
に保存されていますが、例外として
django.request
に保存されるログイベントは例外です。
logs/django_request.log
. なぜなら
'propagate'
に設定されているからです。
False
に対して、私の
django.request
を使うと、ログイベントは決して 'catch all' ロガーに到達しません。
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'standard': {
'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
},
},
'handlers': {
'default': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': 'logs/mylog.log',
'maxBytes': 1024*1024*5, # 5 MB
'backupCount': 5,
'formatter':'standard',
},
'request_handler': {
'level':'DEBUG',
'class':'logging.handlers.RotatingFileHandler',
'filename': 'logs/django_request.log',
'maxBytes': 1024*1024*5, # 5 MB
'backupCount': 5,
'formatter':'standard',
},
},
'loggers': {
'': {
'handlers': ['default'],
'level': 'DEBUG',
'propagate': True
},
'django.request': {
'handlers': ['request_handler'],
'level': 'DEBUG',
'propagate': False
},
}
}
関連
-
[解決済み] 最小限の驚き」と「変更可能なデフォルトの引数
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み] Pythonのマルチプロセッシングプールimap_unorderedの呼び出しの進捗を表示しますか?
-
[解決済み] PythonからSMTPを使用してメールを送信する
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Jupyter (IPython)ノートブックのセッションをpickleして保存する方法
-
[解決済み] virtualenv の `--no-site-packages` オプションを元に戻す。
-
[解決済み] Pythonでランダムなファイル名を生成する最良の方法
-
[解決済み] 認証プラグイン 'caching_sha2_password' はサポートされていません。
-
[解決済み] DjangoにおけるPythonロギングのエレガントなセットアップ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] Pythonでコード行間にかかる時間を測定するには?
-
[解決済み] バブルソートの宿題
-
[解決済み] タプルのリストを複数のリストに変換するには?
-
[解決済み] Pythonのargparseを使った隠し引数の作成
-
[解決済み] PyMongoで.sortを使用する
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pandasのデータフレーム内の文字列を'date'データ型に変換するにはどうしたらいいですか?
-
[解決済み] Pythonの辞書にあるスレッドセーフについて
-
[解決済み] Pythonでリストが空かどうかをチェックする方法は?重複