started net implement getting ejemplo asp c# database nlog

c# - net - nlog levels



¿Cómo configuro NLog para escribir en una base de datos? (3)

Estoy intentando que NLog escriba en una base de datos, sin embargo, con mi código actual produce una excepción cuando intento depurar, la excepción es: el inicializador de tipo para ''NotifyIcon.Program'' produjo una excepción.

El código de mi archivo de configuración NLog está abajo, ya que parece estar causando el problema ya que es el único código que he cambiado.

<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true"> <!-- See http://nlog-project.org/wiki/Configuration_file for information on customizing logging rules and outputs. --> <targets> <!-- add your targets here --> <target name="database" xsi:type="Database" /> <target xsi:type="Database" name="String" dbUserName="Layout" dbProvider="sqlserver" useTransactions="false" connectionStringName="String" connectionString="Data Source=AC-02/SQLEXPRESS;Initial Catalog=master;Integrated Security=True" keepConnection="true" dbDatabase="Layout" dbPassword="Layout" dbHost="Layout" installConnectionString="Layout" commandText="INSERT INTO Logs (Machine_Name, Username, Logon_Time, Screensaver_On, Screensaver_Off, Logoff_Time, Program_Start) Values @MachineName, @Username, @LogonTime, @Screensaver_On, @Screensaver_Off, @LogoffTime, @ProgramStart "/> </targets> <rules> <logger name="*" minlevel="Trace" writeTo="database" /> </rules> </nlog>

Cualquier y toda ayuda sería muy apreciada =]


Parece que su cadena de inserción no está en el formato correcto? Falta () alrededor de la lista de parámetros.

commandText="INSERT INTO Logs (Machine_Name, Username, Logon_Time, Screensaver_On, Screensaver_Off, Logoff_Time, Program_Start) Values (@MachineName, @Username, @LogonTime, @Screensaver_On, @Screensaver_Off, @LogoffTime, @ProgramStart) "



U también escribió 2 objetivos. Y también muchos atributos que no necesitas establecer. Debería ser:

<target name="DbLog" xsi:type="Database" connectionString="YourConStr" commandText="insert into [blablablabal] (Col1) values (@val1)"> <parameter name="@val1" layout="${level}" /></target>

Algo como esto. Fácil no? :)