gpt4 book ai didi

nlog - 如何使 aspnet-request 在我的 NLog 配置中可用?

转载 作者:行者123 更新时间:2023-12-01 10:45:39 25 4
gpt4 key购买 nike

我正在尝试将 IP 地址添加到日志记录中。我安装了 NLog.Extended 包,并确保 NLog.Extended.dll 存在于我的 bin 中基本 NLog.dll 旁边。我已将变量“${aspnet-request:serverVariable=remote_addr}”添加到我的布局渲染器中。我收到一个一般性错误:

An error occurred creating the configuration section handler for nlog: Exception occurred when loading configuration from [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 4.0,那么您将需要 NLog.Web使用 aspnet=* 布局渲染器。

关于nlog - 如何使 aspnet-request 在我的 NLog 配置中可用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26517085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com