2012-06-08 18 views
16

Tengo el siguiente RollingFileappender en mi archivo de configuración de logback.FileNamePattern en RollingFileAppender - logback Configuración

<appender name="RollingFILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <File>C:\Files\MyLogFile.log</File>  
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
    <FileNamePattern>C:\Files\MyLogFile.%d{yyyy-MM-dd}.log</FileNamePattern>  
    <MaxHistory>30</MaxHistory>  
    </rollingPolicy>  
    <encoder> 
     <pattern>%date %level [%thread] %logger{60} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

Lo hace escribir un archivo en el directorio anterior como MyLogFile.log pero no añade la fecha como se especifica en el FileNamePattern. Alguna idea de cómo puedo administrar agregar la fecha en mi fileName. Gracias.

+0

Esta es una buena pregunta y también me confundió. LogBack continúa registrándose en MyLogFile.log y nunca termina en MyLogFile.% {Aaaa-MM-dd} .log Me pregunto cuál es el uso para esta propiedad de archivo. –

Respuesta

25

La documentación para TimeBasedRollingPolicy estados:

Tenga en cuenta que la propiedad file en RollingFileAppender (el padre de TimeBasedRollingPolicy) se ajusta o se omite. Al establecer la propiedad de archivo del FileAppender que contiene, puede desacoplar la ubicación del archivo de registro activo y la ubicación de los archivos de registro . Los registros actuales siempre estarán orientados al archivo especificado por la propiedad file. Se deduce que el nombre del archivo de registro actualmente activo no cambiará con el tiempo. Sin embargo, si elige omitir la propiedad file, el archivo activo se calculará de nuevo para cada período según el valor de fileNamePattern.

En su caso, solo omita la propiedad file.

+0

funcionó maravillas .. Gracias Ceki. – Aks

+0

ejemplo en página web http://logback.qos.ch/manual/appenders.html está roto, usa tanto archivo como fileNamePattern – Marx

2

Por ejemplo, puede usar la siguiente configuración. Fue probado y funciona :)

<!-- FILE APPENDER WITH PRUDENT MODE --> 
<!-- IN PRUDENT MODE CANNOT BE SPECIFIED FILE, THIS PARAM IS OBTAINED FROM FILE NAME PATTERN --> 
<!-- IN PRUDENT MODE ONLY TIME BASED ROLLING POLICY IS SUPPORTED - BECAUSE WE HAVE A LOG OF MULTIPLE JVM INSTANCES--> 
<!-- SEE MORE AT http://logback.qos.ch/manual/appenders.html#prudentWithRolling --> 
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <prudent>true</prudent> 
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
     <fileNamePattern>${logfile.path}-%d{yyyy-MM-dd}.log</fileNamePattern> 
    </rollingPolicy> 

    <encoder> 
     <pattern>${HOSTNAME} %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
    </encoder> 
</appender> 
Cuestiones relacionadas