2011-07-15 26 views
5

Actualmente estoy usando NLog para registrar eventos de seguridad desde mi aplicación ASP.NET MVC3.Enviar salida ELMAH a través de NLog

Ahora tenemos otro requisito para agregar errores de aplicación en un registro separado.

Como ya estamos usando NLog (y adoramos la flexibilidad de los Objetivos), me gustaría configurar Elmah para que pase errores a NLog para el registro.

¿Alguien ha hecho esto & cuidado para compartir?

+2

Ver [esta respuesta] (http://stackoverflow.com/questions/6610735/nlog-elmah-shared-library/6931091#6931091) a una pregunta similar –

+1

@MarnixvanValen esa respuesta explica cómo pasar los errores de NLog a Elmah. La pregunta se trata de pasar las excepciones de Elmah a NLog. –

Respuesta

0

La misma solicitud se ha escrito para Log4net en un blog

he traducido a Nlog y actualizada a la recomendación de Nlog:

public class NLogErrorLog : XmlFileErrorLog 
{ 
    private static Logger logger = LogManager.GetLogger("elmah"); 

    public NLogErrorLog(IDictionary config) : base(config) 
    { 
    } 


    public NLogErrorLog(string logPath) : base(logPath) 
    { 
    } 

    public override string Log(Error error) 
    { 
     //Write whatever you want to NLog 
     logger.Error(error.Exception, "Exception logged through ELMAH: " + error.Message); 
     return base.Log(error); 
    } 
} 

registro en el web.config

<elmah> 
    <errorLog type="MyAssembly.NLogErrorLog, MyAssembly" logPath="~/App_Data" /> 
</elmah> 
Cuestiones relacionadas