Pregunta

Tenemos una aplicación ASP .Net por la cual usamos Log4Net para registrar detalles dentro de la aplicación, nada nuevo allí, y los nombres de los archivos de registro están en el formato habitual de:

rolling-log.txt 
rolling-log.txt.1
rolling-log.txt.2 etc.

A cada usuario de la aplicación agrega al archivo de registro, el archivo de registro puede ser difícil de leer para el caso de un usuario específico y, por lo tanto, nos gustaría modificar el archivo de configuración de alguna manera para registrar los detalles del registro del usuario individualmente, cada uno escribiendo a un archivo específico, p. ej.

<applicationId>rolling-log.txt
<applicationId>rolling-log.txt.1
<applicationId>rolling-log.txt.2
etc.

donde está el ID de aplicación único de cada usuario, compuesto por un número de cinco dígitos, p.

12345rolling-log.txt

¿Alguna idea sobre la mejor manera de implementar esto, suponiendo que sea posible?

Saludos

Brett

¿Fue útil?

Solución

busque las propiedades de contexto de log4net ...

en su código:

log4net.GlobalContext.Properties["id"] = "12345";

luego

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("configPath"));

en el archivo de configuración de log4net:

<file type="log4net.Util.PatternString"
            value="%property{id}rolling-log.txt" />

Otros consejos

<file type="log4net.Util.PatternString">
  <conversionPattern value="C:\Logs\log-%date{ yyyy.MM.dd.HH.mm.ss}-[%processid].log" />
</file>

desde aquí

Creo que el archivo de configuración Log4Net admite variables de entorno (por ejemplo, NOMBRE DE USUARIO), así como patrones personalizables que deberían darle lo que desea.

Mire " PatternString para la configuración basada en patrones " en las notas de la versión Log4Net V1.2.10 .

No creo que el archivo de registro por usuario sea posible, pero puede escribir una capa personalizada entre log4net y su aplicación que antepone la identificación del usuario antes de escribir en el registro.

Puede escribir un diseño personalizado heredando de XmlLayoutBase.

Compruebe el RollingPatternFileAppender, al igual que el rollingfileappender más el nombre de archivo dinámico http://mysite.verizon.net/vze14bhji

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top