Seq的app.config属性中的结构名称

时间:2014-05-27 23:02:16

标签: c# app-config nlog

我们在应用程序中使用NLog。

从本周开始,我们看看Seq(getseq.net),我们喜欢它。问题在于搜索很难,因为我们必须查询

@0=="someinfo"

所以我们看看Serilog,我们可以在这里找到像

这样的结构化名称
var data = new string.Format("Element name {name}", otherElement.name);

而不是

var data = new string.Format("Element name {0}", otherElement.name);

我看了https://github.com/NLog/NLog/wiki/EventContext-Layout-Renderer,看起来我们可以像Serilog那样做,但我无法让它发挥作用......

App.config看起来像:

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <extensions>
      <add assembly="Seq.Client.NLog" />
    </extensions>
    <targets>
      <target name="seq" xsi:type="Seq" serverUrl="http://localhost:5341/">
        <property name="MyValue" value="${event-context:item=MyValue}"/>
      </target>
    <rules>
      <logger name="other" minlevel="Trace" writeTo="seq" />
    </rules>
  </nlog>

C#代码:

LogEventInfo theEvent = new LogEventInfo(NLog.LogLevel.Debug, "", "Pass my custom value");
theEvent.Properties["MyValue"] = "My custom string";
_myLog.Debug(theEvent);

问题是属性“MyValue”从未在我的Seq中设置......

我看Nlog ${event-context:item=xxxx} not writing in logging database,但无法让它对我有用。

谢谢

0 个答案:

没有答案