Ich versuche, NLog dazu zu bringen, in meiner Datenbankprotokolltabelle zu protokollieren, aber ohne Erfolg. Ich bin sicher, dass meine Verbindungszeichenfolge korrekt ist, weil es die gleiche an anderer Stelle in meiner web.config verwendet wird. Das Schreiben in eine Datei funktioniert einwandfrei, also weiß ich, dass es nicht nur an NLog liegt, sondern dass ich etwas falsch mache. Unten ist meine NLog-Konfiguration:
<!-- 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>