2010-05-14 22 views
6

Tengo una configuración como esta appenderLog4net appender cuestión nombre

<appender name="Scheduler_Appender" type="log4net.Appender.RollingFileAppender"> 
    <file value="c:\temp\ApplicationLog.txt"/> 
    <rollingStyle value="Date"/> 
    <datePattern value="yyyyMMdd"/> 
    <appendToFile value="true"/> 
    <staticLogFileName value="true"/> 
    <layout type="MinLayout"> 
    <locationInfo value="true"/> 
    </layout> 
</appender> 

Cuando el primer archivo de registro se crea el nombre del archivo es simplemente ApplicationLog.txt esto es correcto.

Sin embargo, cuando los rollos de explotación forestal - el nombre del archivo que se genera es ApplicationLog.txt20100323 (por ejemplo), y no ApplicationLog20100323.txt

¿Cómo puedo cambiar la configuración de modo que los archivos se enrollan a [archivo] [Fecha] . [ext] en lugar de [Nombre de archivo]. [ext] [Fecha]

Gracias

actualización

he intentado esto, sólo un experimento, pero ahora sus géneros ting archivos con una extensión .pxp por alguna razón ...

<appender name="Scheduler_Appender" type="log4net.Appender.RollingFileAppender"> 
      <file value="c:\temp\Scheduler"/> 
      <rollingStyle value="Date"/> 
      <datePattern value="yyyyMMdd.txt"/> 
      <appendToFile value="true"/> 
      <staticLogFileName value="false"/> 
      <layout type="MinLayout"> 

      </layout> 
     </appender> 
+0

Sobre el "PXP" extensión, tal vez la "t" de "txt" se interpreta. Tuve el problema con la extensión "log". Escapé de la "g" y está bien ahora ("aaaamMMdd-HHmmss.lo \ g") –

Respuesta

5
<appender name="cheduler_Appender" type="log4net.Appender.RollingFileAppender"> 
      <file value="c:\temp\Scheduler"/> 
      <rollingStyle value="Date"/> 
      <datePattern value="yyyyMMdd'.txt'"/> 
      <appendToFile value="true"/> 
      <staticLogFileName value="false"/> 
      <layout type="MinLayout"> 

      </layout> 
     </appender> 
+0

de esta manera su archivo de registro actual no tendrá una extensión, ¿o sí? –

+0

sí, sorprendentemente, esto es porque staticLogFileName está establecido en falso. Pero sé lo que quieres decir, esta es la última vez que uso log4net, la próxima vez es nLog. –

+0

hay una clase de ayuda en esta publicación que tiene un método para encontrar el nombre del archivo http://stackoverflow.com/a/11694426/1060656 – dekdev

19

Creo que el ajuste que desea es PreserveLogFileNameExtension:

<appender name="Scheduler_Appender" type="log4net.Appender.RollingFileAppender"> 
    ... 
    <PreserveLogFileNameExtension value="true" /> 

Nota: esta propiedad no está disponible en el Binary lanzado actualmente (versión 1.2.10.0) por lo que tendría que tomar la última fuente e ir desde allí.

+0

+1 Buena sugerencia para quienes usan versiones futuras. –

1

Trate de éste, se creará el archivo de registro basado en la fecha actual

nombre del archivo de registro (cambiar el formato en consecuencia): "log [15-02-2017] [15.57.10] .log. "

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <appendToFile value="true" /> 
     <rollingStyle value="Date" /> 
     <file type="log4net.Util.PatternString"> 
     <conversionPattern value="log-[%date{dd-MM-yyyy}].[%date{HH.mm.ss}].log" /> 
     </file> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%d [%t] %-5p [%logger:%L] - %m%n" /> 
     </layout> 
    </appender> 
Cuestiones relacionadas