.Net WCF Service Trace Log con gestión de archivos de registro (Rolling)

Tengo algunos servicios .Net WCF, para estos servicios, he configurado el archivo app.config para registrar los mensajes enviados y recibidos en un archivo .svclog que se puede leer con "Service Trace Viewer Tool" (SvcTraceViewer.exe). Esta herramienta hace que los archivos de registro muestren claramente los mensajes SOAP que se están procesando.

Tengo que usar el escucha System.Diagnostics.XmlWriterTraceListener para formatear correctamente el archivo .svclog para que pueda ser procesado por la herramienta Service Trace Viewer Tool.

El problema que tengo es que el archivo .svclog se vuelve demasiado grande y la herramienta Service Trace Viewer Tool se vuelve inutilizable debido a los tiempos de respuesta lentos.

La herramienta Service Trace Viewer Tool proporciona un servicio para permitir que una parte del archivo de registro se abra si el archivo tiene un tamaño> 40 MB, pero aún así es demasiado lento. No parece haber ninguna facilidad en el archivo app.config para configurar .svclog para crear automáticamente un nuevo archivo cada día o cuando el archivo alcanza un tamaño determinado.

Hay un agente de escucha de registro de texto llamado Microsoft.VisualBasic.Logging.FileLogTraceListener que admite una propiedad logfilecreationschedule = "Daily" que enrolla el archivo de registro diariamente. las entradas de registro no están bien representadas y los grandes documentos XML contribuyen a la confusión.

¿Cuál es la mejor práctica en esta área? Parece que es posible que tenga que escribir una extensión de registro WCF personalizada que parece una exageración solo para lidiar con la falta de una función de rollo de archivo de registro en System.Diagnostics.XmlWriterTraceListener log listener integrado appender

También experimenté con una secuencia de comandos para detener mi aplicación y cambiar el nombre de los archivos de registro, pero esto no parece ser posible porque en Windows las utilidades handle.exe y openfile no pueden cerrar un archivo abierto a través de un recurso compartido de red, por lo que no puedo cambiar el nombre / Mueva el archivo de registro anterior si alguien lo está buscando en un recurso compartido de red. Publicaré una pregunta separada sobre eso en breve.

Gracias, Matt.

Respuestas a la pregunta(2)

Su respuesta a la pregunta