代码之家  ›  专栏  ›  技术社区  ›  RPM1984

哨兵。NLog未登录到Sentry

  •  0
  • RPM1984  · 技术社区  · 5 年前

    试图通过NLog连接哨兵,但运气不好。

    包装:

    <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>
    

    我检查过的东西:

    • DSN。从哨兵门户复制粘贴,所以我知道这是正确的
    • Sentry中的“环境”没有过滤器。
    • Nlog日志文件显示没有错误。事实上,在节目中,哨兵被连接起来了。
    • 在NLog中添加了其他目标(例如控制台、文件等),它们工作得很好。

    有什么想法吗?

    谢谢

    0 回复  |  直到 5 年前
        1
  •  1
  •   Bruno Garcia    5 年前

    你选择退出了吗 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 .

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

        2
  •  0
  •   Rolf Kristensen Raúl Diego    5 年前

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

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