2012-02-18 17 views
40

Acabo de instalar ELMAH.MVC (más información here) y me preguntaba dónde se guardan sus datos. Leí que puede optar por configurar la base de datos para el almacenamiento, pero parece que la instalación predeterminada utiliza "en la memoria"? ¿Como funciona? Si reciclo el grupo de aplicaciones o el sitio web de IIS, ¿pierdo todos los datos? ¡Gracias!¿Dónde guarda ELMAH sus datos?

+0

[Este] (http://code.google.com/p/elmah/) es una un enlace más útil para obtener más información. –

+0

http://code.google.com/p/elmah/ –

+1

Si configura la mayoría de las opciones en web.config/app.config, si marca el ejemplo, verá instrucciones (razonables) sobre cómo configurar varios tipos de almacenamiento arriba –

Respuesta

36

Sí, de forma predeterminada utiliza almacenamiento de memoria. Cuando se reinicia el grupo de aplicaciones, pierde datos elmah. Si recuerdo bien, versiones antiguas de ELMAH utilizan carpeta App_Data para almacenar archivos xml ... Si desea utilizar la base de datos para almacenar los registros, basta con especificar la cadena de conexión en su sección de configuración ELMAH:

<elmah> 
... 
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ElmahConnectionString"/> 

... 
</elmah> 

usted debe tener ElmahConnectionString en su sección connectionStrings, algo como esto:

<connectionStrings> 
    <add name="ElmahConnectionString " 
     connectionString="Initial Catalog=my_database;data source=.\SQLEXPRESS;Integrated Security=SSPI;" 
     providerName="System.Data.SqlClient" /> 
... 
</connectionStrings> 

Here ejemplo se puede encontrar el archivo web.config.

+2

Me sale "No se pudo encontrar el procedimiento almacenado 'ELMAH_GetErrorsXml'."! Ya está instalado http://nuget.org/packages/elmah.sqlserver pero sigue teniendo el mismo problema. Recuerda que estoy usando Elmah.MVC encima de Elmah (no estoy seguro si hace la diferencia). ¿Alguna ayuda? ¡Gracias! –

+4

¡Entendido! respuesta http://stackoverflow.com/a/5380167/1133338. Tuve que ejecutar manualmente el script sql para crear la tabla. Así que me preguntaba qué hizo nuget.org/packages/elmah.sqlserver (además de agregar una cadena de conexión vacía a mi web.config? –

+1

Probablemente acaba de agregar la entrada errorLog a la configuración elmah ... no puede manipular su base de datos porque "no sabe" cómo conectarse. –

Cuestiones relacionadas