Pydantic¶
Logfire 有一个 Pydantic 插件来检测 Pydantic 模型。该插件提供有关模型验证的日志和指标。
要启用该插件,请执行下列操作之一:
-
将
LOGFIRE_PYDANTIC_PLUGIN_RECORD
环境变量设置为all
。 -
在
pyproject.toml
中设置pydantic_plugin_record
,例如:
[tool.logfire]
pydantic_plugin_record = "all"
-
在 logfire.configure
中使用pydantic_plugin
参数,例如:日志导入
logfire.configure(pydantic_plugin=logfire。PydanticPlugin(record='全部'))
请注意,如果仅使用最后一个选项,则只会检测在调用 logfire.configure
_后_定义和导入的模型。
第三方模块¶
默认情况下,插件不会检测第三方模块以避免干扰。您可以为使用 [include
][logfire 的用户启用检测。PydanticPlugin.include] 配置。
import logfire
logfire.configure(pydantic_plugin=logfire.PydanticPlugin(record='all', include={'openai'}))
您还可以使用 [exclude
][logfire] 禁用您自己的模块的检测。PydanticPlugin.exclude] 配置。
import logfire
logfire.configure(pydantic_plugin=logfire.PydanticPlugin(record='all', exclude={'app.api.v1'}))
模型配置¶
如果您想对插件进行更精细的控制,您可以在 Pydantic 模型中使用 [plugin_settings
][pydantic.config.ConfigDict.plugin_settings] 类参数。
from logfire.integrations.pydantic import PluginSettings
from pydantic import BaseModel
class Foo(BaseModel, plugin_settings=PluginSettings(logfire={'record': 'failure'})):
...
记录¶
record
用于配置要记录的内容。它可以是下列值之一:
-
off
:禁用检测。这是默认值。 -
all
:发送所有事件的跟踪和指标。 -
failure
:发送所有验证的指标,仅发送验证失败的跟踪。 -
指标
:仅发送指标。
<!--
Sampling can be configured by trace_sample_rate
key in
[plugin_settings
][pydantic.config.ConfigDict.plugin_settings].
from pydantic import BaseModel
class Foo(BaseModel, plugin_settings={'logfire': {'record': 'all', 'trace_sample_rate': 0.4}}):
...
标签¶
标记用于向跟踪和指标添加其他信息。可以通过在 [plugin_settings
][pydantic.config.ConfigDict.plugin_settings] 中添加 tags
键来包含它们。
from pydantic import BaseModel
class Foo(
BaseModel,
plugin_settings={'logfire': {'record': 'all', 'tags': ('tag1', 'tag2')}}
):
本文总阅读量次