diff --git a/opentelemetry/src/logs/record.rs b/opentelemetry/src/logs/record.rs index 91fadbf252..d53caa7cc1 100644 --- a/opentelemetry/src/logs/record.rs +++ b/opentelemetry/src/logs/record.rs @@ -61,6 +61,14 @@ pub trait LogRecord { } /// Value types for representing arbitrary values in a log record. +/// Note: The `tracing` and `log` crates only support basic types that can be +/// converted to these core variants: `i64`, `f64`, `StringValue`, and `bool`. +/// Any complex and custom types are supported through their Debug implementation, +/// and converted to String. More complex types (`Bytes`, `ListAny`, and `Map`) are +/// included here to meet specification requirements and are available to support +/// custom appenders that may be implemented for other logging crates. +/// These types allow for handling dynamic data structures, so keep in mind the +/// potential performance overhead of using boxed vectors and maps in appenders. #[derive(Debug, Clone, PartialEq)] #[non_exhaustive] pub enum AnyValue {