为什么我不能通过NLog将日志保存到数据库?然后,我保存到文件运行正常,但是到数据库却没有。 我的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">
<targets>
<target name="alllogs" xsi:type="File" fileName="C:\Users\Artyrik\Desktop\RVT\RVT_Administrator\RVT_Administrator\file.txt" />
<target name="database" xsi:type="Database" connectionString="Server=DESKTOP-GDI15RS\\SQLEXPRESS;Database=RVTLogs;Trusted_Connection=True;MultipleActiveResultSets=true"
commandText="insert into dbo.Administrator (
MachineName, Logged, Level, Message,
Logger, Callsite, Exception
) values (
@MachineName, @Logged, @Level, @Message,
@Logger, @Callsite, @Exception
);">
<parameter name="@MachineName" layout="${machinename}" />
<parameter name="@Logged" layout="${date}" />
<parameter name="@Level" layout="${level}" />
<parameter name="@Message" layout="${message}" />
<parameter name="@Logger" layout="${logger}" />
<parameter name="@Callsite" layout="${callsite}" />
<parameter name="@Exception" layout="${exception:tostring}" />
</target>
</targets>
<rules>
<!--<logger name="Admin" minlevel="Trace" writeTo="alllogs" />
<logger name="User" minlevel="Trace" writeTo="alllogs" />-->
<logger name="AdminLog" minlevel="Trace" writeTo="database" />
</rules>
</nlog>
在课程中的实现:
```
private static Logger _nLog = LogManager.GetLogger("AdminLog");
_nLog.Info(data.IP + " tried to auth.");```
答案 0 :(得分:0)
您需要将internalLogFile参数添加到您的nlog标记中。您将拥有一个内部日志,如果发生错误,请查看您的配置出了什么问题:
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
internalLogLevel="Info"
internalLogFile="c:\temp\internal-nlog.txt">