我正在使用结构日志,并将其配置为使用filter_by_level处理器:
structlog.configure(
processors = [
structlog.stdlib.add_log_level,
structlog.stdlib.add_log_level_number,
structlog.processors.format_exc_info,
structlog.stdlib.filter_by_level,
structlog.processors.JSONRenderer(),
],
wrapper_class = structlog.stdlib.BoundLogger,
logger_factory = structlog.PrintLoggerFactory(),
cache_logger_on_first_use=True,
)但是当我调用logger.setLevel(level)时
我得到了"PrintLogger没有属性setLevel“。
我应该使用不同的记录器工厂吗?我在"_loggers.py“下面看不到任何其他的记录器
发布于 2021-10-11 08:40:38
是的,如果你想使用返回的记录器的标准库方法,你必须使用structlog.stdlib.LoggerFactory()。
您当前的配置没有使用标准库作为输出。
有关简单但完整的示例,请参阅https://www.structlog.org/en/stable/standard-library.html#rendering-using-logging-based-formatters。
https://stackoverflow.com/questions/69522633
复制相似问题