使用nlog

时间:2017-03-21 11:33:55

标签: c# .net-core nlog

我一直在尝试使用nlog记录服务器详细信息。但似乎布局渲染器中存在一些错误。

我试过这些:

<parameter name="@serverName" layout="${aspnet-request:serverVariable=SERVER_NAME}" />

<parameter name="@port" layout="${aspnet-request:serverVariable=SERVER_PORT}" />

<parameter name="@serverAddress" layout="${aspnet-request:serverVariable=LOCAL_ADDR}" />

<parameter name="@remoteAddress"  layout="${aspnet-request:serverVariable=REMOTE_ADDR}:${aspnet-request:serverVariable=REMOTE_PORT}" />

这些来自官方文档,但仍然无效。

Official Github project link

我在project.json文件中有这些

  "NLog.Extensions.Logging": "1.0.0-rtm-beta1",
  "NLog.Web.AspNetCore": "4.3.0",

1 个答案:

答案 0 :(得分:0)

如前所述[{3}},ASP.NET核心不支持serverVariable的{​​{1}}选项

  

serverVariable - 要呈现的ServerVariables项。有关可能的选项,请参阅:msdn。 ASP.NET Core不支持。

ASP.NET Core中没有服务器变量集合(与ASP.NET签订合同),因此我们无法使用它。

我们已使用新渲染器替换了多个构造,请参阅in the docs

  • ${aspnet-request} =&gt;这是${aspnet-request:serverVariable=SERVER_NAME}吗?
  • ${aspnet-Request-Host} =&gt; ${aspnet-request:serverVariable=SERVER_PORT}
  • ${aspnet-request-url:IncludeHost=false:IncludePort=true} =&gt;我认为 - ${aspnet-request:serverVariable=LOCAL_ADDR}
  • ${aspnet-request-url} =&GT;不要以为这个是支持的。

更新:如果您需要IP,请参阅this overview