| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

Django ロギング設定

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

Django ロギング設定

Django |

Djangoからコンソールにログを出力する

自アプリ用のロギング設定

  • loggers に、自アプリようのロガー例えば 'myapp' を作成
  • handler として、console を追加し、loggerから指定
  • formatters を定義し、console で指定
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'verbose': {
            'format': '%(levelname)s %(asctime)s %(module)s %(process)d %(thread)d %(message)s'
        },
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },    
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        },
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },
        'myapp':{
            'handlers': ['console', 'mail_admins'],
            'level': 'DEBUG',
       },
}

ログの出力

import logging

logger = logging.getLogger(__name__)
logger.info("INFO LOG")