Redireccionar toda la salida NLog a Serilog con un Target personalizado
Como paso para cambiar de NLog a Serilog, quiero redirigir el cableado estándar subyacente a las invocaciones estándar de NLogLogManager.GetLogger(name)
para unir cualquier registro de código a NLog para reenviarlo inmediatamente al Serilog ambientalLog.Logger
- es decir, quiero solo una pieza de configuración que simplemente reenvíe el mensaje, sin almacenar en búfer comoLog4net.Appender.Serilog
lo hace para Log4net.
¿Alguien puede inventarme o señalarme un fragmento canónico que haga esto correcta y eficientemente, por favor? Requisitos que se me ocurren:
Mantener el nivel, es decirnlog.Warn
debe ser equivalente aserilog.Warning
Está bien que Serilog genere el tiempo nuevamentematerializando el mensaje en el apéndice, es decir, no es necesario mantener ninguna propiedad asociada con el 'mensaje' (elLogEvent
en términos Serilog)sin almacenamiento en búferNo necesito ningún otro objetivo NLog para usar (es decir, mutar / eliminar el mensaje estaría bien)