这是我的uvicorn log_config.yaml
。所有的工作都很完美,直到我将日志添加到文件中为止。它对我说
ValueError: not enough values to unpack (expected 5, got 0)
我尝试不同的日志记录(FileHandler
,RotateHandler
),但提出了相同的问题。
version: 1
disable_existing_loggers: False
formatters:
default:
"()": uvicorn.logging.DefaultFormatter
format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s'
access:
"()": uvicorn.logging.AccessFormatter
format: "[%(asctime)s %(process)d:%(threadName)s] %(name)s - %(levelname)s - %(message)s | %(filename)s:%(lineno)d"
handlers:
default:
formatter: default
class: logging.StreamHandler
stream: ext://sys.stderr
access:
formatter: access
class: logging.StreamHandler
stream: ext://sys.stdout
file_handler:
class: logging.FileHandler
level: INFO
formatter: access
filename: info.log
encoding: utf8
mode: a
loggers:
uvicorn.error:
level: INFO
handlers: [default]
propagate: no
uvicorn.access:
level: INFO
handlers: [access]
propagate: no
发布于 2022-05-18 09:08:08
由于您在yaml
文件中指定了有关格式化程序的所有信息,所以没有格式化程序对象。
logging.FileHandler
的python类没有一个名为formatter
的参数,因此不能使用自定义格式。
https://docs.python.org/3/library/logging.handlers.html#logging.FileHandler
这么说,您可以使用formatter: default
,因为它注册为DefaultFormatter
https://stackoverflow.com/questions/71922791
复制相似问题