この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:guest
更新日時:2018-12-10 05:58:59

タイトル: ログ出力方法
SEOタイトル: djangoのログ出力方法

ビューでログ出力

import logging


class TestView(View):

    def get(self, request, *args, **kwargs):

    logger = logging.getLogger('normal')

    logger.info('Hello World!')

    ...

 

ログ設定

設定ファイルは 「プロジェクト名/setting.py」 にあります。

LOG_DIR = BASE_DIR + '/logs/'

LOGGING = {
    'version': 1,
    'formatters': {  # ログ出力フォーマットの指定
        'normal': { 
            'format': '[%(levelname)s] '
                      '%(asctime)s '
                      'module:%(module)s '
                      'process:%(process)d '
                      'thread:%(thread)d '
                      'message:%(message)s'
        },
    },
    'handlers': {
        'normal': {
            'level': 'DEBUG',  # 指定したレベル以上のログを出力する
            'class': 'logging.FileHandler',
           
'filename': os.path.join(LOG_DIR, 'django.log'),  # ログの出力先ファイルを指定
            'formatter': 'normal',  # 上記で設定したログ出力フォーマットを指定
        },
    },
    'loggers': {
        'normal': {  # loggerの名前を定義
            'handlers': ['normal'],  # handlers名を指定
            'level': 'DEBUG',
        },
    },
}

 

ログ出力結果

上記で出力した django.log に以下のようにログが出力されます。

[INFO] 2018-12-10 05:50:56,706 module:test process:12345 thread:123123123123123 message:Hello World!