通过导入Python记录器进行Web2py日志记录

时间:2012-04-17 22:30:31

标签: logging web2py

我按照Web2py手册中的详细信息,以这种方式设置我的记录器:

我首先将配置文件'logging.example.conf'重命名为Web2py根目录中的'logging.conf',并将'myapp'添加到记录器列表中

[loggers]
keys=root,rocket,markdown,web2py,rewrite,app,welcome,myapp

并添加单独的“logger_myapp”部分

[logger_myapp]
level=DEBUG
qualname=web2py.app.myapp
handlers=consoleHandler
propagate=0 

然后在myapp的某个模型文件中,我写道:

import logging
logger = logging.getLogger("web2py.app.myapp')
logger.setLevel(logging.DEBUG)

在同一个模型文件中的某处,我尝试通过执行以下操作来测试日志:

logger.debug("Check: %s" % details)

其中details只是一个包含字符串的变量

但是,当我从命令行运行Web2py时,即python web2py.py,并且在执行模型文件时,我看不到控制台出现任何内容。

我在这里想念的是什么?

1 个答案:

答案 0 :(得分:3)

您可能只需要将handler_consoleHandler的级别设置为DEBUG。记录器和处理程序都有与之关联的级别,任何一个都可以过滤输出。

[handler_consoleHandler]
class=StreamHandler
level=DEBUG <<<<<<<<<<<<<<<<
formatter=simpleFormatter
args=(sys.stdout,)