python - 延迟 python 日志记录和 pylint 日志记录格式插值
问题描述
AFAIK pylint 的 logging-format-interpolation 试图推动我使用“%”-interpolation,因此它可以将执行延迟到严格必要的情况,例如此处所述。
但是,我无法提供实际发生这种延迟的示例:
import logging
logging.basicConfig(level=logging.INFO)
def log_identity(s: str) -> str:
logging.warning('warning %s', s)
return s
logging.debug('%s', log_identity('c')) # Expect delay, i.e. no warning c
logging.debug(f"{log_identity('d')}") # Expect no delay, i.e. warning d
然而,虽然实际的调试部分从不发出消息(按照预期),但字符串两次都会被插值:
WARNING:root:warning c
WARNING:root:warning d
没有明确使用.isEnabledFor
(参见此处),有没有一种方法可以防止使用“%”-interpolation 评估日志消息?如果是这样,它看起来如何?
解决方案
推荐阅读
- javascript - 如何通过另一个属性找到猫鼬模型的属性?
- python - 想要以相同的顺序和行从 git 存储库中获取具有详细信息(日期、时间、gmt、文件路径、作者)的日志
- android - 无法解析 ':app@debug/compileClasspath' 的依赖关系:无法解析 com.google.firebase:firebase-messaging:17.1.0
- javascript - 使用 Javascript 替换文本而不丢失内部标签
- django - 将我的 Django 项目上传到 github 是否可取?
- c# - 在双数组中获取给定日期的第一个日期索引
- javascript - Amcharts:如何在 balloonFunction 中传递标题?
- c# - 在 C# 中使用带有 API 的用户 ID 向 Facebook 用户发送消息
- java - ArrayIndexOutOfBoundsException 嵌套循环 if 语句
- sapui5 - 如何动态绑定 sap.m.Select 的项目