默认情况下,Flask将使用INFO标记直接记录GET和POST请求等内容。在实现自定义记录器时,这些日志将被发布到同一个记录器中,并使我的信息层混乱。有没有办法把它们降级到另一层,比如DEBUG?
这是我使用的记录器:
# create logger
FORMAT = '%(asctime)s - %(module)s - %(levelname)s - Thread_name: %(threadName)s - %(message)s'
logging.basicConfig(
format=FORMAT, datefmt='%m/%d/%Y %I:%M:%S %p',
filename='wizard/logs/example.log', level=logging.DEBUG)
万一有人来这里
我也面临同样的问题。似乎打印调用有“不运行”的趋势。但如果使用记录器而不是打印,您会发现代码实际上仍在运行。
不太清楚原因是什么,但是当我的代码的其他部分突然开始运行时,所有的旧打印将出现。
不使用打印,使用记录器
我不确定如何降低请求的日志级别(通常在logging.info(“…”)之类的代码中明确说明),但以下内容可能有助于减少Flask本身的详细程度。
Python允许您有多个日志记录器,每个记录器都有自己的日志级别。 如果您知道任何现有的记录器所在的模块名或其注册使用的名称,则可以修改该记录器,如here所述。
例如:
对于任何python模块都可以执行上述操作。Flask为每个应用程序提供一个记录器。你可以得到这样的参考:
事实上,有一种方法可以将日志记录从INFO降级到DEBUG(即使它已经使用诸如
info()
之类的调用发出)。这可以通过连接到记录器的过滤器来实现。根据docs过滤器检查:因此,筛选器可能会更改日志记录的级别(levelno和levelname属性)。稍后,处理程序可能会根据新级别允许或删除此记录。
相关问题 更多 >
编程相关推荐