Pregunta

Estoy intentando que NLog inicie sesión en la tabla de registro de mi base de datos, pero fue en vano. Estoy seguro de que mi cadena de conexión es correcta porque es la misma utilizada en otras partes de mi web.config. Escribir en un archivo funciona bien, así que sé que no es solo NLog, sino que debe ser algo que estoy haciendo mal. A continuación se muestra mi configuración 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>
¿Fue útil?

Solución

Intente poner lo siguiente en su etiqueta nlog:

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

Eso podría ayudar a determinar cuál es el problema

Otros consejos

NLog permite registrar las partes internas del marco en sí.

Habilite " nivel de depuración para su registro interno " para NLog y vea qué está pasando mal.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top