Python日志YAML格式对齐与文字字符串连接

Python日志YAML格式对齐与文字字符串连接,python,python-3.x,logging,yaml,pyyaml,Python,Python 3.x,Logging,Yaml,Pyyaml,我正在尝试使用YAML配置格式在Python 3应用程序中设置日志记录格式。然而,我发现自己无法按照我想要的方式格式化它 该格式使用f字符串插值来解释来自记录器的值。我想向这个解释的值添加一个文本字符串,然后对齐并填充它 这是我当前的配置: 这将正确打印消息 myfunction(): 但是,将YAML格式化程序更改为相同的格式只会给我带来一大堆错误,而且不起作用 {asctime}{name:PyYAML源中没有字段名(甚至是字段),因此ValueError不是来自错误的YAML源。PyYA

我正在尝试使用YAML配置格式在Python 3应用程序中设置日志记录格式。然而,我发现自己无法按照我想要的方式格式化它

该格式使用f字符串插值来解释来自记录器的值。我想向这个解释的值添加一个文本字符串,然后对齐并填充它

这是我当前的配置:

这将正确打印消息

myfunction():

但是,将YAML格式化程序更改为相同的格式只会给我带来一大堆错误,而且不起作用


{asctime}{name:PyYAML源中没有
字段名
(甚至是
字段
),因此ValueError不是来自错误的YAML源。PyYAML通常会给出更易识别的错误

如果您这样做:

print("<somestuff> {'f{funcName}():':16} <somemessage>".format())

这就是日志模块试图做的。它不会将该字符串解释为f字符串,而是使用
format()
在字符串内部,带有适当的参数。

这不是问题所在。我的配置文件中正确关闭了它,我只是在将它复制到stackoverflow时出错。我已经修复了它,并添加了我收到的错误,我为我的错误道歉。更新了我的答案。我现在看到了我的误解。但是,我仍然在loss告诉我如何实现我想要的字符串格式,如果可能的话。我曾经做过一个测试,它有一个特殊的格式化程序,允许指定单个字符。我不确定是否可以扩展到允许
():
,然后你还需要提供一个特殊的日志格式化程序。(有趣的用例,但我现在没有时间调查)。正如我所想,没有简单的方法可以让它工作。制作自己的格式化程序是一个很好的解决方案,但不幸的是,不值得我花时间来扩大项目规模。我只需要适应当前的格式化,这只是一个小的生活质量问题。谢谢你的帮助。
print("<somestuff> {'f{funcName}():':16} <somemessage>".format())
ValueError: unexpected '{' in field name