将NLog目标从文件更改为Stackify

时间:2015-12-01 13:52:23

标签: .net nlog

我想让我的应用程序登录Stackify以及文本文件。所以我在web config中为nlog添加了一个目标,如下所示:

<extensions>
  <add assembly="StackifyLib.nLog"/>
</extensions>
<targets>
  <target name="stackify" type="StackifyTarget" globalContextKeys="examplekey1,key2" 
        mappedContextKeys="" callContextKeys="" logMethodNames="true" />
</targets>
<rules>
  <logger name="*" writeTo="stackify" minlevel="Debug" />
</rules>

当我这样做时,日志文件不再更新,即没有任何内容附加到文本文件。知道为什么会影响其他目标吗?

1 个答案:

答案 0 :(得分:2)

这是来自Stackify的马特。

您需要将NLog配置设置为具有2个目标和2个规则,如下所示。看起来应该是这样的:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">    
  <extensions>
    <add assembly="StackifyLib.NLog"/>
  </extensions>
  <targets>
    <target name="stackify" type="StackifyTarget" logMethodNames="true" logAllParams="true" />
    <target xsi:type="File" name="default" fileName="stackifynlog.log" />
  </targets>
  <rules>
    <logger name="*" writeTo="stackify" minlevel="Debug" />
    <logger name="*" writeTo="default" minlevel="Debug" />
  </rules>
</nlog>

此外,这里有我们的文档和GitHub的链接以获取更多信息。

http://support.stackify.com/hc/en-us/articles/205419505-Errors-and-Logs-With-NLog

https://github.com/stackify/stackify-api-dotnet#nlog-2012---v31

谢谢!