2009-10-09 13 views
8

Estoy usando ELMAH para informar errores en mis proyectos ASP.NET. Todo funciona bien, excepto cuando depuro un proyecto, no quiero enviar un informe por correo electrónico a los usuarios permitidos. ¿Cómo puedo lograr esta hazaña?¿Cómo habilitar y deshabilitar ELMAH en web.config y en el código?

+0

¿puede decirnos cómo está enviando correos electrónicos cuando se produce un error? Supongo que está utilizando ELMAH para enviar correos electrónicos cuando se produce un error. ¿Puede mostrarnos la configuración de su web.config para ELMAH? –

Respuesta

8

Suponiendo que tiene diferentes archivos web.config para sus entornos de desarrollo y producción, simplemente deshabilite Elmah en su desarrollo web.config. Querrá comentar (o eliminar) el elemento Elmah.ErrorLogModule en la sección httpModules.

+2

No conozco una forma de desactivar ELMAH del código subyacente. Sin embargo, puede usar archivos web.config específicos de la configuración para desactivarlo (o simplemente usar un tipo diferente de registro) en su entorno de desarrollo. Vea la publicación de ScottGu aquí: http://weblogs.asp.net/scottgu/archive/2007/09/21/tip-trick-automating-dev-qa-staging-and-production-web-config-settings-with-vs -2005.aspx –

+0

No funciona para comentar ErrorLogModule. Comment errorLog de la sección elmah! http://stackoverflow.com/a/25394016/2152973 –

5

Quizás pueda usar ErrorFiltering para desactivar el registro de correo electrónico en Global.asax. Algo como:

void ErrorMail_Filtering(object sender, ExceptionFilterEventArgs e) 
{ 

#if DEBUG 
    e.Dismiss(); 
#endif 

} 
0

Otra forma es utilizar el método ErrorMail_Mailing. Cuando ELMAH envía el correo electrónico, se ejecuta esta primera (cuando está presente en global.asax.cs)

public void ErrorMail_Mailing(object sender, ErrorMailEventArgs e) 
{ 
#if DEBUG 
    e.Mail.To.Clear(); 
    e.Mail.To.Add("[email protected]"); 
    e.Mail.Subject = "Error in Development"; 
#endif 
} 

El ejemplo anterior puede ser a través de las transformaciones en las web.Debug.config & web.Release.config. Pero hay mucho más que puedes hacer en este método. Ver http://scottonwriting.net/sowblog/archive/2011/01/06/customizing-elmah-s-error-emails.aspx

Cuestiones relacionadas