我按照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
,并且在执行模型文件时,我看不到控制台出现任何内容。
我在这里想念的是什么?
答案 0 :(得分:3)
您可能只需要将handler_consoleHandler的级别设置为DEBUG。记录器和处理程序都有与之关联的级别,任何一个都可以过滤输出。
[handler_consoleHandler]
class=StreamHandler
level=DEBUG <<<<<<<<<<<<<<<<
formatter=simpleFormatter
args=(sys.stdout,)