首页 > 解决方案 > Sentry.NLog 未登录到 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>

我检查过的事情:

有任何想法吗?

谢谢

标签: nlogsentry

解决方案


你选择退出了InitializeSdk吗?

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

这可能是问题吗?

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

但默认情况下,仅 DSN 就足以初始化 SDK。 您可以将 SDK 设置为调试模式以查看发生了什么

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


推荐阅读