Pregunta

Tengo un programa en java llamado appname, es el uso de logback y sl4fj para el registro.

Expectativas:

  • El archivo de registro está rodando todos los días a la medianoche y todos los generados los archivos de registro se mantendrá durante 30 días, según la configuración de <maxHistory>30</maxHistory>

  • Utiliza la ruta de acceso absoluta para especificar el archivo de registro de patrón de <fileNamePattern>/var/log/appname/logfile.%d{yyyy-MM-dd}.log</fileNamePattern>

  • Crea un usuario appname en un servidor linux(CentOS) ser el propietario de el programa java appname.jar y /var/log/appname, sólo este appname el usuario tiene permiso para ejecutar el programa.

El problema que me encuentro:

Me deja correr, por desgracia, 5 días después de la appname el programa se inicia, los archivos rollings funcionan bien PERO el archivo de registro.log(material para el registro del día actual de datos) desaparece, todos los archivos de registro generados (los días anteriores registros) están todavía allí.

Editar:Corrí el programa dos veces, el archivo de registro.registro se ha ido en el 4 º día(la 1ª vez que me funcionó), y se ha ido en el día 5(la 2ª vez que me funcionó)

AYUDA:

¿Alguien tiene alguna idea sobre esto?

Mi Suposición:

  1. Se relaciona con logback&sl4fj
  2. Problema de permisos?
  3. Es debido a que el tamaño del archivo de registro(no establecer el límite de tamaño es de alrededor de 15 GB para cada uno)?

<configuration debug="true"> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder><pattern>%-4relative [%thread] %-5level %logger{35} - %msg %n</pattern></encoder> </appender> <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>/var/log/appname/logfile.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>/var/log/appname/logfile.%d{yyyy-MM-dd}.log</fileNamePattern> <maxHistory>30</maxHistory> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5p %c - %m%n</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="FILE" /> <!-- <appender-ref ref="STDOUT" /> --> </root> </configuration> <logger name="org.apache.zookeeper"> <level value="ERROR"/> <appender-ref ref="FILE"/> </logger>

Cualquier ayuda será bienvenida, gracias de antemano!

¿Fue útil?

Solución

<?xml version="1.0" encoding="UTF-8"?>

con varios días de pruebas, me encontré con que la línea de arriba que faltaba en mi logback archivo, después he añadido como la primera línea de mi logback archivo, los rolling funciona correctamente, la esperanza puede ayudar a la gente a tener el problema similar con mi.

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