如何让NLog写入数据库

我试图让NLoglogin到我的数据库日志表,但无济于事。 我敢肯定,我的连接string是正确的,因为它与我的web.config中其他地方一样。 写出来的文件工作正常,所以我知道这不只是NLog,但一定是我做错了什么。 以下是我的NLogconfiguration:

<!-- NLOG CONFIGURATION --> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <targets> <target name="file" xsi:type="File" fileName="${basedir}/logs/Log ${shortdate}.txt" layout="${longdate} ${callsite} ${level}: ${message} ${exception:format=Message,StackTrace} ${stacktrace}" /> <target type="Database" name="database" connectionstring="MyConnectionString"> <commandText> insert into MyLog ([CreateDate], [Origin], [LogLevel], [Message], [Exception], [StackTrace]) values (@createDate, @origin, @logLevel, @message, @exception, @stackTrace); </commandText> <parameter name="@createDate" layout="${longdate}"/> <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="*" writeTo="file"/> <logger name="*" appendTo="database"/> <!--<logger name="*" writeTo="mail" minlevel="Error"/>--> </rules> </nlog> 

尝试将以下内容放入nlog标签中:

 <nlog throwExceptions="true" internalLogFile="c:\nlog.txt" internalLogLevel="Debug" /> 

这可能有助于确定问题所在

NLog允许logging框架本身的内部。

为NLog启用“ 用于内部日志logging的debugging级别 ”,查看发生了什么问题。