代码之家  ›  专栏  ›  技术社区  ›  Kyle J V

.Net Core 2.0控制台应用程序不通过NLog向Loggly发送消息

  •  1
  • Kyle J V  · 技术社区  · 6 年前

    我添加了两个额外的目标,控制台和文本。其他两个目标都运转良好。

    customer Loggly key在我们的.NET 4.71应用程序中运行良好,该应用程序具有相同的软件包和类似的结构。

    <ItemGroup>
    <PackageReference Include="Autofac" Version="4.8.1" />
    <PackageReference Include="loggly-csharp" Version="4.6.1.64" />
    <PackageReference Include="loggly-csharp-config" Version="4.6.1.64" />
    <PackageReference Include="NLog.Targets.Loggly" Version="4.7.0" />
    <PackageReference Include="Topshelf" Version="4.1.0" />
    <PackageReference Include="Topshelf.NLog" Version="4.1.0" />
    

    编辑:添加更多的实现代码 从App.config:

    <configSections>
        <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" />
        <section name="loggly" type="Loggly.Config.LogglyAppConfig, Loggly.Config, Version=3.5.0.0, Culture=neutral, PublicKeyToken=null" />
      </configSections>
    ...
    
    <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://www.nlog-project.org/schemas/NLog.xsd NLog.xsd"
            autoReload="true"
            throwExceptions="false"
            internalLogLevel="Trace" internalLogFile="c:\temp\nlog-internal.log">
        <extensions>
          <add assembly="NLog.Targets.Loggly" />
        </extensions>
        <variable name="DefaultLayout" value="${longdate} | ${level:uppercase=true:padding=5} | ${message} | ${exception:format=@} | ${callsite} | ${callsite-linenumber} | ${all-event-properties}" />
        <targets async="true">
          <target xsi:type="File" name="logfile" fileName="logs/log.txt"  layout="${DefaultLayout}"/>
          <target xsi:type="Console" name="console"  layout="${DefaultLayout}"/>
          <target xsi:type="Loggly" name="Loggly" layout="${DefaultLayout}"/>
        </targets>
        <rules>
          <logger name="*" minlevel="Trace" writeTo="logfile,Loggly,console" />
        </rules>
      </nlog>
      <loggly
        xmlns="Loggly"
        applicationName="masked"
        customerToken="masked"
        throwExceptions="true">
        <transport logTransport="Https"/>
        <tags>
          <simple>
            <tag value="DEV"/>
          </simple>
          <complex>
            <tag type="Loggly.HostnameTag" formatter="{0}"/>
            <tag type="Loggly.ApplicationNameTag" formatter="{0}"/>
          </complex>
        </tags>
      </loggly>
    

    Topshelf.Hosts.ConsoleRunHost分级:2018-12-12 09:05:09.8816调试 跟踪=>2018-12-12 09:05:09.8816调试调试=>2018-12-12 09:05:09.8816调试信息=>2018-12-12 09:05:09.8816调试警告=> 2018-12-12 09:05:09.8816调试错误=>2018-12-12 09:05:09.8816调试 致命=>2018-12-12 09:05:10.1486跟踪异步包装器(Name=Loggly): 写入1事件(计时器)2018-12-12 09:05:10.1486跟踪 AsyncWrapper(名称=控制台):写入1个事件(计时器)2018-12-12

    1 回复  |  直到 6 年前
        1
  •  2
  •   Kyle J V    6 年前

    感谢@RolfKristensen的评论,我尝试通过代码手动配置csharp客户端,它工作正常。我必须将配置转移到appSettings,并让configuration manager拾取这些设置。我想loggly csharp需要更好的文档来避免在.NET内核中使用配置示例。