Djangoでloggingの設定してみた。

settings.py 

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'main': {
            'format': '{asctime}:{process:d}:{levelname}:{name}:{lineno}:{message}',
            'style': '{',
        },
    },
    'handlers': {
        'file': {
            'level': 'DEBUG',
            'class': 'logging.handlers.RotatingFileHandler',
            'filename': f'{os.path.dirname(__file__)}/logs/web_warning.log',
            'encoding': 'utf-8',
            'maxBytes': 100000,
            'backupCount': 10,
            'formatter': 'main'
        },
    },
    'loggers': {
        # root全てのログが出る
        # 'root': {
        #     'handlers': ['file'],
        #     'level': 'WARNING',
        #     # 'propagate': False,
        # },
        # django関連のログが出る
        'django': {
            'handlers': ['file'],
            'level': 'WARNING',
        },
        # 自分アプリの関連のログが出る
        'mysite': {
            'handlers': ['file'],
            'level': 'WARNING',
        },
        # コマンドは個別で出すことにしたので、同じファイルに出さないために、propagete=Falseにしてその他の設定はなし
        'mysite.management.commands': {
            'propagate': False,
        }
    },
}

https://docs.djangoproject.com/ja/4.1/topics/logging/
https://docs.djangoproject.com/ja/4.1/howto/logging/#logging-how-to

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です