【发布时间】:2014-10-22 21:04:10
【问题描述】:
我正在尝试将 IP 地址添加到日志记录中。我安装了 NLog.Extended 包并确保 NLog.Extended.dll 存在于我的 bin 中,位于基本 NLog.dll 旁边。我已将变量“${aspnet-request:serverVariable=remote_addr}”添加到我的布局渲染器中。我收到一个通用错误:
为 nlog 创建配置节处理程序时出错:从 [my Web.config] 加载配置时发生异常
这是我的 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">
<extensions>
<add assembly="NLog.Extended" />
</extensions>
<targets async="true">
<target name="fileLog" xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" layout="${aspnet-request:serverVariable=remote_addr} ${longdate} ${callsite} ${level} ${message} ${exception:format=ToString}" />
<target name="dbLog" xsi:type="Database" connectionStringName="db.data" commandText="insert into log ([Date], [Origin], [LogLevel], [Message], [Exception], [StackTrace]) values (@date, @origin, @logLevel, @message, @exception, @stackTrace)">
<parameter name="@date" layout="${date}"/>
<parameter name="@origin" layout="${callsite}"/>
<parameter name="@logLevel" layout="${level}"/>
<parameter name="@message" layout="${message}"/>
<parameter name="@exception" layout="${exception:format=Message,StackTrace}"/>
<parameter name="@stackTrace" layout="${stacktrace}"/>
</target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="dbLog" />
<logger name="*" minlevel="Trace" writeTo="fileLog" />
</rules>
</nlog>
当我删除 AspNetRequest 变量时,它不会抱怨。我试过用“remote_host”替换“remote_addr”,没有任何变化。该项目使用 NLog 2.1.0。关于我在这里做错了什么有什么想法吗?
【问题讨论】:
标签: nlog