Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Pydantic Validation

Pydantic Logfire has a Pydantic Validation plugin to instrumentPydantic Validation models.The plugin provides logs and metrics about model validation.

To enable the plugin, do one of the following:

  • Set theLOGFIRE_PYDANTIC_PLUGIN_RECORD environment variable toall.
  • Setpydantic_plugin_record inpyproject.toml, e.g:
[tool.logfire]pydantic_plugin_record="all"
importlogfirelogfire.instrument_pydantic()# Defaults to record='all'

Note that if you only use the last option then only model classes defined and importedafter callinglogfire.instrument_pydanticwill be instrumented.

Note

Remember to calllogfire.configure() at some point, whether before or aftercallinglogfire.instrument_pydantic and defining model classes.Model validations will only start being logged after callinglogfire.configure().

Third party modules

By default, third party modules are not instrumented by the plugin to avoid noise. You can enable instrumentation for thoseusing theinclude configuration.

logfire.instrument_pydantic(include={'openai'})

You can also disable instrumentation for your own modules using theexclude configuration.

logfire.instrument_pydantic(exclude={'app.api.v1'})

Model configuration

If you want more granular control over the plugin, you can use theplugin_settings class parameter in your Pydantic models.

fromlogfire.integrations.pydanticimportPluginSettingsfrompydanticimportBaseModelclassFoo(BaseModel,plugin_settings=PluginSettings(logfire={'record':'failure'})):...

Record

Therecord argument is used to configure what to record.It can be one of the following values:

  • all: Send traces and metrics for all events. This is default value forlogfire.instrument_pydantic.
  • failure: Send metrics for all validations and traces only for validation failures.
  • metrics: Send only metrics.
  • off: Disable instrumentation.

Tags

Tags are used to add additional information to the traces, and metrics. They can be included byadding thetags key inplugin_settings.

frompydanticimportBaseModelclassFoo(BaseModel,plugin_settings={'logfire':{'record':'all','tags':('tag1','tag2')}}):

[8]ページ先頭

©2009-2025 Movatter.jp