当Pyramid应用程序中主记录器的调试级别设置为DEBUG
时,transaction
会喷出许多毫无意义的调试消息。
在Nosetests中,我可以这样禁用它:
from transaction._compat import get_thread_ident
txn_logger = logging.getLogger("txn.%d" % get_thread_ident())
txn_logger.setLevel(logging.WARN)
但是,在Pyramid应用程序中,基础结构向每个HTTP请求添加“作用域会话”,这显然意味着
get_thread_ident()
每次都不同。是否有某种方法可以全局禁用该功能,而无需在每个金字塔视图中重复以上操作?
最佳答案
只需在日志配置中关闭txn
父日志的日志记录即可。
[loggers]
keys = transactions, ...
[logger_transactions]
level = WARN
handlers =
qualname = txn