Question

J'essaie de faire en sorte que NLog se connecte à la table de journalisation de ma base de données, mais en vain. Je suis sûr que ma chaîne de connexion est correcte car elle est identique à celle utilisée ailleurs dans web.config. Ecrire dans un fichier fonctionne bien, donc je sais que ce n'est pas seulement NLog, mais que c'est quelque chose que je fais mal. Voici ma configuration NLog:

<!-- 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>
Était-ce utile?

La solution

Essayez de mettre les éléments suivants dans votre balise nlog:

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

Cela pourrait aider à déterminer le problème

Autres conseils

Le NLog permet de journaliser les éléments internes du framework lui-même.

Activez le " niveau de débogage pour votre journalisation interne " pour NLog et voir ce qui ne va pas.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top