Tengo varios procesos ejecutándose simultáneamente que deseo iniciar sesión en el mismo archivo.Registro desde múltiples procesos al mismo archivo usando Enterprise Library 4.1
Hemos estado utilizando Enterprise Library 4.1 Logging Application Block (con un RollingFlatFileTraceListener
), y funciona bien, aparte del hecho de que antepone el GUID al nombre del archivo de registro cuando dos procesos intentan escribir en el archivo de registro en al mismo tiempo (una peculiaridad de System.Diagnostics.TextWriterTraceListener
creo).
He intentado varias cosas, incluida la llamada al Logger.Writer.Dispose()
después de escribir en el archivo de registro, pero no es ideal hacer una llamada de bloqueo cada vez que se escribe una entrada de registro.
Los foros EntLib sugieren el uso de MSMQ con un Servicio de Distribuidor, pero esa no es una opción ya que MSMQ no está permitido en mi empresa.
¿Hay alguna otra manera en la que pueda registrar de forma rápida y fácil desde múltiples hilos/procesos en el mismo archivo?
¿Obtuviste una solución alternativa? tal vez usando *** MSMQ ***? – Kiquenet
@Kiquenet ha pasado tanto tiempo, no lo recuerdo del todo. Si lo intento muy duro, recuerdo vagamente que terminamos usando diferentes archivos de registro para diferentes procesos para solucionar este problema. No es ideal, pero queríamos mantener las cosas simples. – Riko
Podría agregar que si tuviera que elegir un marco de registro ahora, me mantendría lo más alejado posible de Enterprise Library. Es demasiado complejo, tanto para usar como para configurar, y no es fácilmente extensible. Probablemente vaya con [log4net] (https://logging.apache.org/log4net/) o [NLog] (http://nlog-project.org/). – Riko