この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
更新日時:2023-03-07 10:43:47
タイトル: ログ出力方法
SEOタイトル: djangoのログ出力方法
| この記事の要点 |
- Django のログ出力方法
- 基本:
import logging → logger = logging.getLogger(__name__) → logger.info(...)
- 設定は
settings.py の LOGGING ディクショナリで定義(ハンドラ・フォーマッタ・レベル)
print() よりログを使うほうが本番でも残せて検索しやすい
|
ビューでログ出力
|
import logging
class TestView(View):
def get(self, request, *args, **kwargs):
logger = logging.getLogger(__name__)
logger.info('Hello World!')
...
|
ログ設定
設定ファイルは 「プロジェクト名/setting.py」 にあります。
|
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'formatter': 'simple'
},
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': os.path.join(LOG_DIR, 'app.log'),
# 'filename': '/var/log/myapp/app.log',
'maxBytes': 1024 * 1024 * 10, # 10 MB
'backupCount': 50,
'formatter': 'verbose'
},
},
'loggers': {
'django': {
'handlers': ['console', 'file'],
'level': 'INFO',
'propagate': True,
},
'myapp': {
'handlers': ['console', 'file'],
'level': 'DEBUG',
'propagate': True,
},
},
'formatters': {
'simple': {
'format': '%(asctime)s [%(levelname)s] %(message)s'
},
'verbose': {
'format': '%(asctime)s [%(levelname)s] %(name)s %(lineno)d: %(message)s'
}
}
}
|