¿Me puede apuntar a algunos tutorial o muestras de cómo me puedo registrar todas las excepciones no controladas que se están produciendo en mi aplicación web MVC usando log4net. Graciaslog4net registrar todos los errores de aplicación no controladas
Respuesta
pego a continuación el código que uso en mi Global.asax que me parece satisfacer por ahora .. Me estoy haciendo todas las excepciones no controladas en mi log4net genera archivos de registro ..
public class MvcApplication : System.Web.HttpApplication
{
private static readonly ILog log = LogManager.GetLogger(typeof(MvcApplication));
void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError().GetBaseException();
log.Error("App_Error", ex);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
log4net.Config.XmlConfigurator.Configure();
}
}
También puede usar un HttpModule para registrar el controlador de eventos de error: http://codebetter.com/blogs/karlseguin/archive/2006/06/12/146356.aspx – dahlbyk
Usted querrá agregar 'routes.IgnoreRoute ("{*} favicon", nueva {favicon = @ "(. * /)? favicon.ico (/.*)?"}); 'a su método RegisterRoutes si no tiene un favicon ubicado dentro de su sitio – Tr1stan
Acerca de HttpModule: el método para registrar el módulo detallado en el artículo vinculado se aplica al antiguo modo de canal IIS clásico, no al modo integrado (ahora recomendado). Consulte https://msdn.microsoft.com/library/ms227673(v=vs.100).aspx para obtener detalles sobre cómo registrarlo si usa el modo integrado. – personne3000
Sin ser gracioso here you go.
try
{
NotImplementedException nie = new NotImplementedException();
throw nie;
}
catch (Exception e)
{
Log.Fatal(e);
}
Suponiendo que está utilizando .NET 3.5, puede utilizar los métodos de extensión, y extender System.Exception y añadir un método de registro (log log4net.ILog), a continuación, siempre que se captura una excepción en su aplicación, suponiendo que He configurado la instancia de registro correctamente, luego lo haces fácilmente. Su clase de extensión podría crecer un poco, con varias sobrecargas de depuración, información, warn, error fatal y etc.
lo siento, mi pregunta no era clara. Necesito registrar todas las excepciones no controladas – kaivalya
que podría estar interesado para comprobar lo que Aspect Oriented Programming (AOP) es.
Hemos logrado esto con Post sharp (sólo - no usamos pero log4net trazador de medida).
Sólo tienes que comprobar primero si log4net no tienen algo de esto 'hacia fuera-de-la-caja'. No estoy seguro de eso.
No hay soporte incorporado para esto en log4net. Debe implementar the Application_Error event en Global.asax y llame al log lognet allí. El evento se activará para todos los eventos no administrados en su aplicación.
para ASP.NET aplicaciones que le gusta usar el evento System.Web.HttpApplication.Error
que se coloca en el archivo Global.asax
.
protected void Application_Error(Object sender, EventArgs e)
{
Exception ex = Server.GetLastError();
// Stop error from displaying on the client browser
Context.ClearError();
logger.Fatal(ex.ToString);
}
- 1. Registrar todas las excepciones en la aplicación .NET usando log4net
- 2. registrar todos los métodos?
- 3. Log4net deja de registrar aleatoriamente.
- 4. Cómo registrar mensajes de seguimiento con log4net?
- 5. ¿Ganar formularios, registrar todos los clics?
- 6. ¿Cómo registrar todos los errores en DB pero los errores de correo electrónico solo en base condicional?
- 7. Registrar todos los errores en la consola o archivo en el sitio de Django
- 8. Log4net, cómo registrar un mensaje detallado?
- 9. php ocultar TODOS los errores
- 10. Cómo registrar MethodName al ajustar Log4net?
- 11. No se pueden registrar errores de Código 500 en ELMAH
- 12. PHP: ¿Cómo registrar errores fatales?
- 13. Log de datos WPF errores al enlazar con Log4net
- 14. C++ excepciones no controladas
- 15. log4net - Los appenders no funcionan en IIS7.5
- 16. ¿Activa Javascript un evento para excepciones no controladas/no detectadas?
- 17. Mostrando todos los errores y advertencias
- 18. ¿Cómo puedo registrar todos los correos salientes en Django?
- 19. Registrar una aplicación en un protocolo de URL (todos los navegadores) a través del instalador
- 20. Excepciones no controladas en BackgroundWorker
- 21. Excepciones no controladas en BackgroundWorker
- 22. Capturar excepciones no controladas de async
- 23. ¿Está capturando todas las excepciones de C++ no controladas?
- 24. Cómo registrar el seguimiento de la pila usando log4net (C#)
- 25. Manejo del problema de excepciones no controladas
- 26. Deshágase de todos los errores @Override en Eclipse?
- 27. Excepciones no controladas con Global.asax
- 28. log4net: ¿algún filtro para registrar solo el enésimo mensaje?
- 29. ¿Puedes registrar errores php en varios archivos?
- 30. Validación de WPF: Borrado de todos los errores de validación
Usted puede o no puede encontrar este interesante (no estoy seguro si va a trabajar con log4net): ELMAH - http://code.google.com/p/elmah/ –
Gracias! De hecho, también enganché mi aplicación a Elmah mientras trabajaba en este problema y realmente me gusta la interfaz práctica que tiene. Me veo usarlo más en comparación con log4 net por ahora, pero veré cómo va eso con más experiencia. – kaivalya