From 54d75951dff0eedfa3ea6b8edd95d7e3320725ab Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Thu, 25 Sep 2025 14:09:11 -0400 Subject: [PATCH 01/11] Add sentry.origin field to logs for integrations --- src/Sentry.Extensions.Logging/SentryStructuredLogger.cs | 1 + src/Sentry/SentryLog.cs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs index 36e68454a6..908d7b6a9e 100644 --- a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs +++ b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs @@ -89,6 +89,7 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except }; log.SetDefaultAttributes(_options, _sdk); + log.SetOrigin("auto"); if (_categoryName is not null) { diff --git a/src/Sentry/SentryLog.cs b/src/Sentry/SentryLog.cs index 7e58fec173..334e565875 100644 --- a/src/Sentry/SentryLog.cs +++ b/src/Sentry/SentryLog.cs @@ -199,6 +199,11 @@ internal void SetDefaultAttributes(SentryOptions options, SdkVersion sdk) } } + internal void SetOrigin(string origin) + { + SetAttribute("sentry.origin", origin); + } + internal void WriteTo(Utf8JsonWriter writer, IDiagnosticLogger? logger) { writer.WriteStartObject(); From bbb5e60f29c07709157ed6210e06b130ab7e6453 Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Thu, 25 Sep 2025 14:51:35 -0400 Subject: [PATCH 02/11] Add sentry.origin field to logs for Serilog integration as well --- src/Sentry.Serilog/SentrySink.Structured.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Sentry.Serilog/SentrySink.Structured.cs b/src/Sentry.Serilog/SentrySink.Structured.cs index 6584afb934..d158a19486 100644 --- a/src/Sentry.Serilog/SentrySink.Structured.cs +++ b/src/Sentry.Serilog/SentrySink.Structured.cs @@ -18,6 +18,7 @@ private static void CaptureStructuredLog(IHub hub, SentryOptions options, LogEve }; log.SetDefaultAttributes(options, Sdk); + log.SetOrigin("auto"); foreach (var attribute in attributes) { From c5e6b8a06e02e3a4d69f056f5c6334b3df00b1e2 Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Thu, 25 Sep 2025 14:52:03 -0400 Subject: [PATCH 03/11] Add sentry.origin field check to tests --- .../SentryAspNetCoreStructuredLoggerProviderTests.cs | 3 +++ .../SentryStructuredLoggerProviderTests.cs | 3 +++ .../SentryStructuredLoggerTests.cs | 1 + test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs | 2 ++ test/Sentry.Tests/SentryLogTests.cs | 3 +++ 5 files changed, 12 insertions(+) diff --git a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs index 797aedf435..b478ecca95 100644 --- a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs +++ b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs @@ -91,6 +91,9 @@ public void CreateLogger_DependencyInjection_CanLog() capturedLog.TryGetAttribute("sentry.sdk.version", out object? version).Should().BeTrue(); version.Should().Be(SentryMiddleware.NameAndVersion.Version); + + capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); + origin.Should().Be("auto"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs index cb48224c51..548cdc8b57 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs @@ -91,6 +91,9 @@ public void CreateLogger_DependencyInjection_CanLog() capturedLog.TryGetAttribute("sentry.sdk.version", out object? version).Should().BeTrue(); version.Should().Be(SentryLoggerProvider.NameAndVersion.Version); + + capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); + origin.Should().Be("auto"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs index dcf7e0a4c5..ad550b596e 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs @@ -109,6 +109,7 @@ public void Log_LogLevel_CaptureLog(LogLevel logLevel, SentryLogLevel expectedLe log.ParentSpanId.Should().Be(parentSpanId); log.AssertAttribute("sentry.environment", "my-environment"); log.AssertAttribute("sentry.release", "my-release"); + log.AssertAttribute("sentry.origin", "auto"); log.AssertAttribute("sentry.sdk.name", "SDK Name"); log.AssertAttribute("sentry.sdk.version", "SDK Version"); log.AssertAttribute("category.name", _fixture.CategoryName); diff --git a/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs b/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs index b7cb36b76f..0a00f804e8 100644 --- a/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs +++ b/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs @@ -118,6 +118,8 @@ public void Emit_StructuredLogging_LogEvent(bool withActiveSpan) environment.Should().Be("test-environment"); log.TryGetAttribute("sentry.release", out object? release).Should().BeTrue(); release.Should().Be("test-release"); + log.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); + origin.Should().Be("auto"); log.TryGetAttribute("sentry.sdk.name", out object? sdkName).Should().BeTrue(); sdkName.Should().Be(SentrySink.SdkName); log.TryGetAttribute("sentry.sdk.version", out object? sdkVersion).Should().BeTrue(); diff --git a/test/Sentry.Tests/SentryLogTests.cs b/test/Sentry.Tests/SentryLogTests.cs index 3393137b85..89948a847a 100644 --- a/test/Sentry.Tests/SentryLogTests.cs +++ b/test/Sentry.Tests/SentryLogTests.cs @@ -53,6 +53,9 @@ public void Protocol_Default_VerifyAttributes() log.Parameters.Should().BeEquivalentTo(new KeyValuePair[] { new("param", "params"), }); log.ParentSpanId.Should().Be(ParentSpanId); + // should only show up in sdk integrations + log.TryGetAttribute("sentry.origin", out object origin).Should().BeFalse(); + log.TryGetAttribute("attribute", out object attribute).Should().BeTrue(); attribute.Should().Be("value"); log.TryGetAttribute("sentry.environment", out string environment).Should().BeTrue(); From ed3cf8cbf563fb8627be5716bda026d7356bf288 Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Thu, 25 Sep 2025 16:10:41 -0400 Subject: [PATCH 04/11] Change sentry.origin to be more descriptive --- src/Sentry.Extensions.Logging/SentryStructuredLogger.cs | 2 +- src/Sentry.Serilog/SentrySink.Structured.cs | 2 +- .../SentryAspNetCoreStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerTests.cs | 2 +- test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs index 908d7b6a9e..fecd486fab 100644 --- a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs +++ b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs @@ -89,7 +89,7 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except }; log.SetDefaultAttributes(_options, _sdk); - log.SetOrigin("auto"); + log.SetOrigin("auto.logging.dotnet_extension"); if (_categoryName is not null) { diff --git a/src/Sentry.Serilog/SentrySink.Structured.cs b/src/Sentry.Serilog/SentrySink.Structured.cs index d158a19486..f31517d87e 100644 --- a/src/Sentry.Serilog/SentrySink.Structured.cs +++ b/src/Sentry.Serilog/SentrySink.Structured.cs @@ -18,7 +18,7 @@ private static void CaptureStructuredLog(IHub hub, SentryOptions options, LogEve }; log.SetDefaultAttributes(options, Sdk); - log.SetOrigin("auto"); + log.SetOrigin("auto.logging.serilog"); foreach (var attribute in attributes) { diff --git a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs index b478ecca95..9a08cd4d49 100644 --- a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs +++ b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryMiddleware.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto"); + origin.Should().Be("auto.logging.dotnet_extension"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs index 548cdc8b57..15129009d0 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryLoggerProvider.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto"); + origin.Should().Be("auto.logging.dotnet_extension"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs index ad550b596e..e4116af31d 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs @@ -109,7 +109,7 @@ public void Log_LogLevel_CaptureLog(LogLevel logLevel, SentryLogLevel expectedLe log.ParentSpanId.Should().Be(parentSpanId); log.AssertAttribute("sentry.environment", "my-environment"); log.AssertAttribute("sentry.release", "my-release"); - log.AssertAttribute("sentry.origin", "auto"); + log.AssertAttribute("sentry.origin", "auto.logging.dotnet_extension"); log.AssertAttribute("sentry.sdk.name", "SDK Name"); log.AssertAttribute("sentry.sdk.version", "SDK Version"); log.AssertAttribute("category.name", _fixture.CategoryName); diff --git a/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs b/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs index 0a00f804e8..f795b01010 100644 --- a/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs +++ b/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs @@ -119,7 +119,7 @@ public void Emit_StructuredLogging_LogEvent(bool withActiveSpan) log.TryGetAttribute("sentry.release", out object? release).Should().BeTrue(); release.Should().Be("test-release"); log.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto"); + origin.Should().Be("auto.logging.serilog"); log.TryGetAttribute("sentry.sdk.name", out object? sdkName).Should().BeTrue(); sdkName.Should().Be(SentrySink.SdkName); log.TryGetAttribute("sentry.sdk.version", out object? sdkVersion).Should().BeTrue(); From 2ae44b5f1dfd7bebb93e3287ad44e7a865966370 Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Thu, 25 Sep 2025 16:28:37 -0400 Subject: [PATCH 05/11] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7cdf7c28d0..93c9124277 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - Upload linked PDBs to fix non-IL-stripped symbolication for iOS ([#4527](https://github.com/getsentry/sentry-dotnet/pull/4527)) - In MAUI Android apps, generate and inject UUID to APK and upload ProGuard mapping to Sentry with the UUID ([#4532](https://github.com/getsentry/sentry-dotnet/pull/4532)) - Fixed WASM0001 warning when building Blazor WebAssembly projects ([#4519](https://github.com/getsentry/sentry-dotnet/pull/4519)) +- Populate `sentry.origin` property in logs ([#4566](https://github.com/getsentry/sentry-dotnet/pull/4566)) ### Dependencies From aadfd875f93fc269bf0f02a896004dcd9e1f7b9e Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Fri, 26 Sep 2025 16:05:58 -0400 Subject: [PATCH 06/11] change sentry.origin category and clarify name --- src/Sentry.Extensions.Logging/SentryStructuredLogger.cs | 2 +- src/Sentry.Serilog/SentrySink.Structured.cs | 2 +- .../SentryAspNetCoreStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerTests.cs | 2 +- test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs index fecd486fab..fb6887632b 100644 --- a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs +++ b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs @@ -89,7 +89,7 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except }; log.SetDefaultAttributes(_options, _sdk); - log.SetOrigin("auto.logging.dotnet_extension"); + log.SetOrigin("auto.log.microsoft_extension"); if (_categoryName is not null) { diff --git a/src/Sentry.Serilog/SentrySink.Structured.cs b/src/Sentry.Serilog/SentrySink.Structured.cs index f31517d87e..6054585c7f 100644 --- a/src/Sentry.Serilog/SentrySink.Structured.cs +++ b/src/Sentry.Serilog/SentrySink.Structured.cs @@ -18,7 +18,7 @@ private static void CaptureStructuredLog(IHub hub, SentryOptions options, LogEve }; log.SetDefaultAttributes(options, Sdk); - log.SetOrigin("auto.logging.serilog"); + log.SetOrigin("auto.log.serilog"); foreach (var attribute in attributes) { diff --git a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs index 9a08cd4d49..40328ae498 100644 --- a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs +++ b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryMiddleware.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.logging.dotnet_extension"); + origin.Should().Be("auto.log.microsoft_extension"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs index 15129009d0..8c8f82850f 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryLoggerProvider.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.logging.dotnet_extension"); + origin.Should().Be("auto.log.microsoft_extension"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs index e4116af31d..1bd97d9f36 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs @@ -109,7 +109,7 @@ public void Log_LogLevel_CaptureLog(LogLevel logLevel, SentryLogLevel expectedLe log.ParentSpanId.Should().Be(parentSpanId); log.AssertAttribute("sentry.environment", "my-environment"); log.AssertAttribute("sentry.release", "my-release"); - log.AssertAttribute("sentry.origin", "auto.logging.dotnet_extension"); + log.AssertAttribute("sentry.origin", "auto.log.microsoft_extension"); log.AssertAttribute("sentry.sdk.name", "SDK Name"); log.AssertAttribute("sentry.sdk.version", "SDK Version"); log.AssertAttribute("category.name", _fixture.CategoryName); diff --git a/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs b/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs index f795b01010..5a13e94f5d 100644 --- a/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs +++ b/test/Sentry.Serilog.Tests/SentrySinkTests.Structured.cs @@ -119,7 +119,7 @@ public void Emit_StructuredLogging_LogEvent(bool withActiveSpan) log.TryGetAttribute("sentry.release", out object? release).Should().BeTrue(); release.Should().Be("test-release"); log.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.logging.serilog"); + origin.Should().Be("auto.log.serilog"); log.TryGetAttribute("sentry.sdk.name", out object? sdkName).Should().BeTrue(); sdkName.Should().Be(SentrySink.SdkName); log.TryGetAttribute("sentry.sdk.version", out object? sdkVersion).Should().BeTrue(); From 75fa353f79fae02ce6102d88112290422e5f4184 Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Fri, 26 Sep 2025 16:08:48 -0400 Subject: [PATCH 07/11] update changelog --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 93c9124277..41c7e34afa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ - Upload linked PDBs to fix non-IL-stripped symbolication for iOS ([#4527](https://github.com/getsentry/sentry-dotnet/pull/4527)) - In MAUI Android apps, generate and inject UUID to APK and upload ProGuard mapping to Sentry with the UUID ([#4532](https://github.com/getsentry/sentry-dotnet/pull/4532)) - Fixed WASM0001 warning when building Blazor WebAssembly projects ([#4519](https://github.com/getsentry/sentry-dotnet/pull/4519)) -- Populate `sentry.origin` property in logs ([#4566](https://github.com/getsentry/sentry-dotnet/pull/4566)) +- Populate `sentry.origin` default attribute in _Structured Logs_ ([#4566](https://github.com/getsentry/sentry-dotnet/pull/4566)) ### Dependencies From e866c0003ba4b71a8f7933d0830bd777043f76cf Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Fri, 26 Sep 2025 16:11:41 -0400 Subject: [PATCH 08/11] update sentry.origin for MEL to microsoft_extensions (plural) --- src/Sentry.Extensions.Logging/SentryStructuredLogger.cs | 2 +- .../SentryAspNetCoreStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerTests.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs index fb6887632b..7d59846531 100644 --- a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs +++ b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs @@ -89,7 +89,7 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except }; log.SetDefaultAttributes(_options, _sdk); - log.SetOrigin("auto.log.microsoft_extension"); + log.SetOrigin("auto.log.microsoft_extensions"); if (_categoryName is not null) { diff --git a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs index 40328ae498..dbf454e39a 100644 --- a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs +++ b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryMiddleware.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.log.microsoft_extension"); + origin.Should().Be("auto.log.microsoft_extensions"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs index 8c8f82850f..62a856ee1e 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryLoggerProvider.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.log.microsoft_extension"); + origin.Should().Be("auto.log.microsoft_extensions"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs index 1bd97d9f36..03556118c0 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs @@ -109,7 +109,7 @@ public void Log_LogLevel_CaptureLog(LogLevel logLevel, SentryLogLevel expectedLe log.ParentSpanId.Should().Be(parentSpanId); log.AssertAttribute("sentry.environment", "my-environment"); log.AssertAttribute("sentry.release", "my-release"); - log.AssertAttribute("sentry.origin", "auto.log.microsoft_extension"); + log.AssertAttribute("sentry.origin", "auto.log.microsoft_extensions"); log.AssertAttribute("sentry.sdk.name", "SDK Name"); log.AssertAttribute("sentry.sdk.version", "SDK Version"); log.AssertAttribute("category.name", _fixture.CategoryName); From c8d3df537b925a3957045321240f5ce8b8473ac2 Mon Sep 17 00:00:00 2001 From: Alex Sohn <44201357+alexsohn1126@users.noreply.github.com> Date: Wed, 1 Oct 2025 09:53:42 -0400 Subject: [PATCH 09/11] Update CHANGELOG.md Co-authored-by: James Crosswell --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 41c7e34afa..3aaa3dd144 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ - Upload linked PDBs to fix non-IL-stripped symbolication for iOS ([#4527](https://github.com/getsentry/sentry-dotnet/pull/4527)) - In MAUI Android apps, generate and inject UUID to APK and upload ProGuard mapping to Sentry with the UUID ([#4532](https://github.com/getsentry/sentry-dotnet/pull/4532)) - Fixed WASM0001 warning when building Blazor WebAssembly projects ([#4519](https://github.com/getsentry/sentry-dotnet/pull/4519)) -- Populate `sentry.origin` default attribute in _Structured Logs_ ([#4566](https://github.com/getsentry/sentry-dotnet/pull/4566)) +- Structured Logs now have a `sentry.origin` attribute to so it's clearer where these come from ([#4566](https://github.com/getsentry/sentry-dotnet/pull/4566)) ### Dependencies From c291d8eeebac433618bf34afd8b857dc5a1b0ebf Mon Sep 17 00:00:00 2001 From: Alex Sohn <44201357+alexsohn1126@users.noreply.github.com> Date: Wed, 1 Oct 2025 09:56:42 -0400 Subject: [PATCH 10/11] Update src/Sentry.Extensions.Logging/SentryStructuredLogger.cs Co-authored-by: James Crosswell --- src/Sentry.Extensions.Logging/SentryStructuredLogger.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs index 7d59846531..6735cc9d5b 100644 --- a/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs +++ b/src/Sentry.Extensions.Logging/SentryStructuredLogger.cs @@ -89,7 +89,7 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except }; log.SetDefaultAttributes(_options, _sdk); - log.SetOrigin("auto.log.microsoft_extensions"); + log.SetOrigin("auto.log.extensions_logging"); if (_categoryName is not null) { From baf7c13d02b221daa93320f8b33316e1bacc0f8d Mon Sep 17 00:00:00 2001 From: Alex Sohn Date: Wed, 1 Oct 2025 12:36:11 -0400 Subject: [PATCH 11/11] fix tests to reflect name change --- .../SentryAspNetCoreStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerProviderTests.cs | 2 +- .../SentryStructuredLoggerTests.cs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs index dbf454e39a..d19cdf5cc4 100644 --- a/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs +++ b/test/Sentry.AspNetCore.Tests/SentryAspNetCoreStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryMiddleware.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.log.microsoft_extensions"); + origin.Should().Be("auto.log.extensions_logging"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs index 62a856ee1e..a8c52f13da 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerProviderTests.cs @@ -93,7 +93,7 @@ public void CreateLogger_DependencyInjection_CanLog() version.Should().Be(SentryLoggerProvider.NameAndVersion.Version); capturedLog.TryGetAttribute("sentry.origin", out object? origin).Should().BeTrue(); - origin.Should().Be("auto.log.microsoft_extensions"); + origin.Should().Be("auto.log.extensions_logging"); } [Fact] diff --git a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs index 03556118c0..dd86c1327b 100644 --- a/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs +++ b/test/Sentry.Extensions.Logging.Tests/SentryStructuredLoggerTests.cs @@ -109,7 +109,7 @@ public void Log_LogLevel_CaptureLog(LogLevel logLevel, SentryLogLevel expectedLe log.ParentSpanId.Should().Be(parentSpanId); log.AssertAttribute("sentry.environment", "my-environment"); log.AssertAttribute("sentry.release", "my-release"); - log.AssertAttribute("sentry.origin", "auto.log.microsoft_extensions"); + log.AssertAttribute("sentry.origin", "auto.log.extensions_logging"); log.AssertAttribute("sentry.sdk.name", "SDK Name"); log.AssertAttribute("sentry.sdk.version", "SDK Version"); log.AssertAttribute("category.name", _fixture.CategoryName);