diff --git a/CHANGELOG.md b/CHANGELOG.md index 6ea2d1c..8f03075 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. ## Unreleased +## [0.29.1] 2025-11-03 + +### Bug fixes + +* `Record::target_static` should return `&'static str` instead of `&str`. + ## [0.29.0] 2025-11-03 ### Breaking changes diff --git a/Cargo.toml b/Cargo.toml index d1b7d7a..c160d77 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -38,10 +38,10 @@ logforth-append-async = { version = "0.3.0", path = "appenders/async" } logforth-append-fastrace = { version = "0.3.0", path = "appenders/fastrace" } logforth-append-file = { version = "0.3.0", path = "appenders/file" } logforth-append-journald = { version = "0.3.0", path = "appenders/journald" } -logforth-append-opentelemetry = { version = "0.3.0", path = "appenders/opentelemetry" } +logforth-append-opentelemetry = { version = "0.3.1", path = "appenders/opentelemetry" } logforth-append-syslog = { version = "0.3.0", path = "appenders/syslog" } logforth-bridge-log = { version = "0.3.0", path = "bridges/log" } -logforth-core = { version = "0.3.0", path = "core" } +logforth-core = { version = "0.3.1", path = "core" } logforth-diagnostic-fastrace = { version = "0.3.0", path = "diagnostics/fastrace" } logforth-diagnostic-task-local = { version = "0.3.0", path = "diagnostics/task-local" } logforth-layout-google-cloud-logging = { version = "0.3.0", path = "layouts/google-cloud-logging" } diff --git a/appenders/opentelemetry/Cargo.toml b/appenders/opentelemetry/Cargo.toml index 097dff7..64b5df9 100644 --- a/appenders/opentelemetry/Cargo.toml +++ b/appenders/opentelemetry/Cargo.toml @@ -14,7 +14,7 @@ [package] name = "logforth-append-opentelemetry" -version = "0.3.0" +version = "0.3.1" description = "Opemtelemetry appender for Logforth." keywords = ["logging", "log", "opentelemtry"] diff --git a/appenders/opentelemetry/src/lib.rs b/appenders/opentelemetry/src/lib.rs index 52431ac..4a11ebe 100644 --- a/appenders/opentelemetry/src/lib.rs +++ b/appenders/opentelemetry/src/lib.rs @@ -232,7 +232,12 @@ impl Append for OpentelemetryLog { log_record.set_observed_timestamp(now); log_record.set_severity_number(log_level_to_otel_severity(record.level())); log_record.set_severity_text(record.level().name()); - log_record.set_target(record.target().to_owned()); + + if let Some(target) = record.target_static() { + log_record.set_target(target); + } else { + log_record.set_target(record.target().to_owned()); + } if let Some(make_body) = self.make_body.as_ref() { log_record.set_body(make_body.create(record, diags)?); @@ -258,6 +263,10 @@ impl Append for OpentelemetryLog { log_record.add_attribute("line", line); } + if let Some(column) = record.column() { + log_record.add_attribute("column", column); + } + let mut extractor = KvExtractor { record: &mut log_record, }; diff --git a/core/Cargo.toml b/core/Cargo.toml index 85e8557..e555b7f 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -14,7 +14,7 @@ [package] name = "logforth-core" -version = "0.3.0" +version = "0.3.1" description = "Core structs and functions for Logforth." keywords = ["logging", "log"] diff --git a/core/src/record.rs b/core/src/record.rs index ef4ad18..ba5cd74 100644 --- a/core/src/record.rs +++ b/core/src/record.rs @@ -69,7 +69,7 @@ impl<'a> Record<'a> { /// The name of the target of the directive, if it is a `'static` str. /// /// This is typically the same as the module path, but can be set explicitly. - pub fn target_static(&self) -> Option<&'a str> { + pub fn target_static(&self) -> Option<&'static str> { self.target.get_static() } diff --git a/logforth/Cargo.toml b/logforth/Cargo.toml index 8585963..3a3cdbb 100644 --- a/logforth/Cargo.toml +++ b/logforth/Cargo.toml @@ -14,7 +14,7 @@ [package] name = "logforth" -version = "0.29.0" +version = "0.29.1" description = "A versatile and extensible logging implementation." keywords = ["logging", "log", "opentelemetry", "fastrace"]