Python 找不到记录器的处理程序;myapp.lib“;

Python 找不到记录器的处理程序;myapp.lib“;,python,django,logging,Python,Django,Logging,我刚刚升级到Django 1.3,它自带了自己的日志模块。我确实设置了日志记录,当Apache/mod_wsgi访问模块时,它就可以工作了。但是,当我使用django shell时,日志记录不起作用-我总是会遇到一个臭名昭著的错误“在使用shell时,无法找到记录器'myapp.lib'的处理程序 这是my settings.py的日志部分: LOGGING = { 'version': 1, 'disable_existing_loggers': True, 'form

我刚刚升级到Django 1.3,它自带了自己的日志模块。我确实设置了日志记录,当Apache/mod_wsgi访问模块时,它就可以工作了。但是,当我使用django shell时,日志记录不起作用-我总是会遇到一个臭名昭著的错误“在使用shell时,无法找到记录器'myapp.lib'的处理程序

这是my settings.py的日志部分:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'file': {
            'class': 'logging.handlers.RotatingFileHandler',
            'formatter': 'simple',
            'filename': '/var/log/myapp.log',
            'maxBytes': '4096',
            'backupCount': '5'
        },
        'console': {
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        }
    },
    'loggers': {
        'myapp.lib': {
            'handlers': ['file', 'console',],
            'level': 'INFO',
        },
    }
}
这是导致错误的Python代码:

import logging
l=logging.getLogger(__name__)
l.warn("foo")

要从django shell登录,您需要运行:

import logging
l=logging.getLogger('myapp.lib')
l.warn("foo")

\uuuu name\uuuuu
在shell中是
\uuuu main\uuuuu

要从django shell登录,您需要运行:

import logging
l=logging.getLogger('myapp.lib')
l.warn("foo")

\uuuuu name\uuuuuu
在shell中是
\uuuuu main\uuuuuu

是否可以打印
\uuuuu name\uuuuuuuuuu
的值?此外,是否可以运行
/manager.py shell
,然后从django.conf导入设置运行:
;打印设置。日志记录['loggers']
name等于“myapp.lib”,我也尝试过直接设置“myapp.lib”<代码>打印设置。日志记录['loggers']给了我
{'myapp.lib':{'level':'INFO','handlers':['file','console']}}
而且我刚刚注意到日志记录是通过Web服务器进行访问的-只有在命令行(
manage.py shell
)上我收到了这些错误。你能打印
\uu name\uuuu
的值吗,您可以运行
/manage.py shell
,然后从django.conf导入设置运行:
;打印设置。日志记录['loggers']
name等于“myapp.lib”,我也尝试过直接设置“myapp.lib”<代码>打印设置。日志记录['loggers']给了我
{'myapp.lib':{'level':'INFO','handlers':['file','console']}}
而且我刚刚注意到日志记录可以通过Web服务器进行访问-只有在命令行(
manage.py shell
)上我收到了这些错误。谢谢,但这不是问题。在shell上执行这段代码会给我同样的错误。我当时被难住了。我在django 1.3中使用了您的精确日志配置,上面的工作非常完美。您确定shell显示的是django 1.3吗?没有虚拟的问题吗?哦,没错。我的$PYTHON_路径包含另一个项目中Django 1.2的旧副本。嗯,嗯!谢谢你的建议。谢谢,但这不是问题所在。在shell上执行这段代码会给我同样的错误。我当时被难住了。我在django 1.3中使用了您的精确日志配置,上面的工作非常完美。您确定shell显示的是django 1.3吗?没有虚拟的问题吗?哦,没错。我的$PYTHON_路径包含另一个项目中Django 1.2的旧副本。嗯,嗯!谢谢你的建议。