Django日志记录消息未保存在相应的文件中!

Man*_*ani 1 django logging

我是django的新手...我正在学习Django-logging概念..我的问题是日志消息不会保存在我在下面的代码中使用的文件中,

(在我的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,
    },
}
Run Code Online (Sandbox Code Playgroud)

}

(在我的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 !!!') [# here is my prob..this msg is not saved in '/home/linuxuser/mani/f/logs/msg.log' #]

    return HttpResponseRedirect('/empthanks/')   
Run Code Online (Sandbox Code Playgroud)

Dono为什么日志消息没有保存在那个文件中..任何人都给我解决方案,即使它是如此简单..这里有什么不对?

在此先感谢..
玛尼

Ken*_*ane 11

尝试使用此日志设置,看看它是否有帮助.

注意disable_existing_loggers为True,我在记录器中添加了一个默认值''.

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            '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':'standard',
        },  
        'request_handler': {
                'level':'DEBUG',
                'class':'logging.handlers.RotatingFileHandler',
                'filename': 'logs/django_request.log',
                'maxBytes': 1024*1024*5, # 5 MB
                'backupCount': 5,
                'formatter':'standard',
        },
    },
    'loggers': {

        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': { # Stop SQL debug from logging to main logger
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
    }
}
Run Code Online (Sandbox Code Playgroud)

  • @Ken:非常感谢Mr.ken ..现在正在工作......感谢您的回复.但是还有一个疑问..它保存了我的日志消息(我已用于编码)以及一些默认消息进入那个文件名..例如:DEBUG django.db.backends一些sql查询..为什么它会自动将一些消息如DEBUG django.db.backends保存到该文件中?是否是Django日志记录的内置函数??? (2认同)