我正在运行一个烧瓶应用程序。我想写一个日志。
app = Flask(__name__)
print()语句不起作用。 (可能是因为我在Docker容器中运行烧瓶?)在网络的某个地方我发现了这种语法:
app.logger.info('successful query')
除了输出相当笨重之外哪些方法有效:
--------------------------------------------------------------------------------
INFO in app [/usr/src/app/app.py:187]:
successful query
--------------------------------------------------------------------------------
你可以想象连续一堆这些是多么令人讨厌。您可以打印4行,然后打印一行。
是否有一种简单易用的方法可以在一行中记录烧瓶中的任意消息?
答案 0 :(得分:2)
事实证明,执行此操作的最佳方法是使用app.logger.info
(或app.logger's functions中的任何一个),但更改格式为app.debug_log_format
答案 1 :(得分:1)
我认为Formatter是最好的方法。 例如:
import logging
from logging.handlers import TimedRotatingFileHandler
from flask import Flask
app = Flask(__name__)
formatter = logging.Formatter("[%(asctime)s] %(message)s")
handler = TimedRotatingFileHandler('path/to/file.log', when='midnight',
interval=1, backupCount=5)
handler.setLevel(logging.INFO)
handler.setFormatter(formatter)
app.logger.addHandler(handler)
asctime 和消息是预定义的attributes。