web-dev-qa-db-ja.com

ロガーのハンドラーが見つかりませんでした

私はDjangoの初心者です。現在Djangoロギングを試行しています。試行中に、このエラーが発生します[[ロガーのハンドラが見つかりませんでした]サンプル ""]..これが私のコードです、

(私のsettings.pyに)

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '%(asctime)s %(levelname)s %(name)s %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': '/home/linuxuser/mani/f/logs/msg.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'simple',
        },
    },
    'loggers': {
        'sample': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True,
        },
    }
}

(私のviews.pyで)

import logging
import logging.handlers
from Django.conf import settings
logger = logging.getLogger('sample')

def empdel(request,id):
    e = get_object_or_404(emp, pk=id)
    e.delete()
    logger.info('A row is deleted successfully !!!')
    return HttpResponseRedirect('/empthanks/')

このコードの実行中にこのエラーが発生しました["ロガー" sample "のハンドラーが見つかりません"]..コードに問題がありますか? LOGGINGでハンドラーを使用しているのに、なぜこのようなエラーが発生するのですか?また、LOGGINGで使用したファイルにログメッセージを保存しようとしています...任意のアイデア?前もって感謝します !!!

21
Mani

ドキュメントはこれについて少し不明確ですが、ロギング設定を指定するための組み込み機能を使用する場合、ロガーのインスタンスを取得する必要はありません。

あなたは単に次のようにします:

import logging

def empdel(request,id):
    e = get_object_or_404(emp, pk=id)
    e.delete()
    logging.info('A row is deleted successfully !!!')
    return HttpResponseRedirect('/empthanks/')
23
xeeton