J'essaye d'obtenir NLog pour se connecter à ma table de journal de base de données mais en vain. Je suis sûr que ma chaîne de connexion est correcte car c'est la même chose utilisée ailleurs dans mon web.config. Ecrire dans un fichier fonctionne bien, donc je sais que ce n'est pas seulement NLog, mais ça doit être quelque chose que je fais mal. Ci-dessous est ma configuration NLog:Comment obtenir NLog à écrire à la base de données
<!-- 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>
$ {longdate} était une chaîne que j'essayais d'insérer dans un champ datetime. Le changer en $ {date} a fait l'affaire. –