Python 找不到记录器的处理程序;myapp.lib“;
我刚刚升级到Django 1.3,它自带了自己的日志模块。我确实设置了日志记录,当Apache/mod_wsgi访问模块时,它就可以工作了。但是,当我使用django shell时,日志记录不起作用-我总是会遇到一个臭名昭著的错误“在使用shell时,无法找到记录器'myapp.lib'的处理程序 这是my settings.py的日志部分: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
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的旧副本。嗯,嗯!谢谢你的建议。