Sentry.NLog 没有登录到 Sentry

Sentry.NLog not logging to Sentry

尝试通过 NLog 连接 Sentry,但运气不佳。

包:

<package id="Sentry" version="3.0.5" targetFramework="net462" />
<package id="Sentry.NLog" version="3.0.5" targetFramework="net462" />

两者都是最新的。

NLog.config:

<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      autoReload="true"
      throwExceptions="true"
      internalLogLevel="Debug"
      internalLogFile="c:\temp\nlog-internal.txt"
      internalLogToConsole="true"
      throwConfigExceptions="true">

  <extensions>
    <add assembly="Sentry.NLog" />
  </extensions>

  <targets>
    <target xsi:type="Sentry"
            name="sentry"
            dsn="https://secret"
            environment="test"
            includeEventProperties="True"
            layout="${message}"
            breadcrumbLayout="${message}"
            minimumBreadcrumbLevel="Debug"
            ignoreEventsWithNoException="False"
            includeEventDataOnBreadcrumbs="False"
            includeEventPropertiesAsTags="True"
            minimumEventLevel="Error" />    
  </targets>

  <rules>
    <logger name="*" minlevel="Error" writeTo="sentry" />
  </rules>

</nlog>

我检查过的内容:

有什么想法吗?

谢谢

您选择退出 InitializeSdk 了吗?

https://github.com/getsentry/sentry-dotnet/blob/6ce7f933f64bd517677b5e837d6c7e8cc37b4217/src/Sentry.NLog/SentryTarget.cs#L148-L155

会不会是这个问题?

除非您正在使用另一个已经初始化 Sentry 的集成,否则如果您自己调用 SentrySdk.Init

但默认情况下,仅 DSN 就足以初始化 SDK。 You can set the SDK to debug mode to see what's happening.

repo 中有一个示例项目: https://github.com/getsentry/sentry-dotnet/tree/main/samples/Sentry.Samples.NLog

Sentry 正在通过网络发送数据,并且可能有一个人为延迟来优化批处理和减少网络流量。

Did you remember to flush?,等待数据到达目的地。