セットアップロギングがうまくいきました。私が今したいことは、他のログに加えて、「マイアプリ」と呼ばれる特定のアプリケーションのすべてのデバッグ情報を記録し、これを実現する方法がわからないことです。それが今であるよう特定のアプリケーションのすべてのデバッグ情報をロギングしますか?
ワーキングを設定:
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
#
'formatters': {
'default': {
'format': '\n%(levelname)s - %(asctime)s\n%(message)s\n'
},
},
#
'handlers': {
#
'mail_admins': {
'level': 'ERROR',
'class': 'django.utils.log.AdminEmailHandler',
'include_html': True,
},
#
'debug_log': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/var/log/django/debug.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'default',
},
#
'error_log': {
'level': 'ERROR',
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/var/log/django/error.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'default',
},
},
#
'loggers': {
'': {
'handlers': ['mail_admins', 'error_log',],
'level': 'INFO',
'propagate': True,
},
'django': {
'handlers': ['debug_log',],
'level': 'DEBUG',
'propagate': True,
},
}
}
を私は1つの特定のアプリのためにすべてをキャプチャするデバッグログを設定したいと思います。私は、次の内容を追加しハンドラをLOGGINGへ:
'app_log': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/var/log/django/app.log',
'maxBytes': 1024*1024*5,
'backupCount': 5,
'formatter': 'default',
},
そして次ロガー:
'my_app': {
'handlers': ['app_log',],
'level': 'DEBUG',
'propagate': True,
},
my_app.viewsに以下を追加します。ここで、I
import logging
logger = logging.getLogger(__name__)
そして、ここです私が次に何をする必要があるかわからない。特定のビューに次のようなものを追加できます。
...
if blahblahblah:
logger.debug('My Message Here')
...
しかし、私が本当に欲しいのは、「My Message Here」だけでなく、アプリ全体のデバッグ情報です。私はすべてのクエリ情報などが必要です... ie:標準のデバッグログと同じ情報が、その1つのアプリだけです。
どうすればよいですか?
はいでした。助けてくれてありがとう。 – Fish
助けてくれてうれしいです。あなたのプロジェクトで最高のもの – e4c5