BETA

Djangoでログを取る

投稿日:2020-09-11
最終更新:2020-09-12

【setting.pyにロギングの設定を行う】

mysite/setting.pyに以下のコードを追加します。

LOGGING = {  
    'version': 1,  
    'disable_existing_loggers': False,  
    'handlers': {  
        'file_debug': {  
            'level': 'DEBUG',  
            'class': 'logging.FileHandler',  
            'filename': './debug.log',  
        },  
    },  
    'loggers': {  
        'django': {  
            'handlers': ['file_debug'],  
            'level': 'DEBUG',  
            'propagate': True,  
        },  
    },  
}  

 
この設定でdebug以上のログをdebug.logというファイルに出力します。
filename部分にファイルパスを指定することで、好きな場所にログを出力することが可能です。
ただし、実行しているユーザーにアクセス権限がある場所である必要があります
このようにファイルにログを出力する場合は、classにlogging.FileHandlerを指定します。

【ログのフォーマットを変更する】

ログの出力形式をformattersで設定します。
ここではログのレベル、時間、ログを出したモジュール、ログメッセージを出力する様に設定します。

・・・  
'disable_existing_loggers': False,  
'formatters': {  
    'myformat': {  
        'format': '{levelname} {asctime} {module} {message}',  
        'style': '{',  
    },  
},  
'handlers': {  
・・・  

 
handlesに使用するフォーマットの設定を追加します

    'handlers': {  
        'file_debug': {  
            'level': 'DEBUG',  
            'class': 'logging.FileHandler',  
            'filename': './debug.log',  
            'formatter': 'myformat',  
        },  
    },  

 
このようなログが出力されればOKです。

INFO 2020-09-11 13:33:16,457 autoreload Watching for file changes with StatReloader  

参考 Python, Django 公式ドキュメント
https://docs.python.org/ja/3/library/logging.handlers.html
https://docs.djangoproject.com/ja/3.1/topics/logging/

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

@jokerの技術ブログ

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう