日志记录关闭烧瓶终端输出
Logging turns off flask terminal output
我有一个烧瓶 app.py,在应用程序中我有一个 write_to_db.py 脚本。
我将日志记录添加到一个包罗万象的装饰器,现在 flask 不向终端输出任何日志记录,我的 VS Code 调试器也不起作用。
当我查看 error.log 文件时,我只看到如下基本输出:
Running on http://127.0.0.1:7900/ (Press CTRL+C to quit)
import logging
logging.basicConfig(filename='eror.log', level=os.environ.get("LOGLEVEL", "CRITICAL"))
def catch_all_decorator(f):
def wrapper(*args, **kwargs):
try:
f(*args, **kwargs)
return "LOADED"
except Exception as e:
logging.info(e)
logging.exception("STACK TRACE")
return "FAIL"
我需要记录堆栈跟踪数据并且仍然可以在终端中看到它。
您 over-written 您的默认 STDOUT 处理程序 logging.basicConfig(filename='eror.log', level=os.environ.get("LOGLEVEL", "CRITICAL"))
。
Running on http://127.0.0.1:7900/ (Press CTRL+C to quit)
- 你看到这个是因为它实际上是一个 "print()" 输出而不是日志输出。
在这里试试这个:
logging.basicConfig(level=os.environ.get("LOGLEVEL", "CRITICAL"), handlers=[logging.FileHandler("error.log"), logging.StreamHandler()])
我有一个烧瓶 app.py,在应用程序中我有一个 write_to_db.py 脚本。 我将日志记录添加到一个包罗万象的装饰器,现在 flask 不向终端输出任何日志记录,我的 VS Code 调试器也不起作用。
当我查看 error.log 文件时,我只看到如下基本输出:
Running on http://127.0.0.1:7900/ (Press CTRL+C to quit)
import logging
logging.basicConfig(filename='eror.log', level=os.environ.get("LOGLEVEL", "CRITICAL"))
def catch_all_decorator(f):
def wrapper(*args, **kwargs):
try:
f(*args, **kwargs)
return "LOADED"
except Exception as e:
logging.info(e)
logging.exception("STACK TRACE")
return "FAIL"
我需要记录堆栈跟踪数据并且仍然可以在终端中看到它。
您 over-written 您的默认 STDOUT 处理程序 logging.basicConfig(filename='eror.log', level=os.environ.get("LOGLEVEL", "CRITICAL"))
。
Running on http://127.0.0.1:7900/ (Press CTRL+C to quit)
- 你看到这个是因为它实际上是一个 "print()" 输出而不是日志输出。
在这里试试这个:
logging.basicConfig(level=os.environ.get("LOGLEVEL", "CRITICAL"), handlers=[logging.FileHandler("error.log"), logging.StreamHandler()])