Logback özelliğini kullanma Her zaman bir eşzamansız iş başladığında yeni günlük başlatmak istiyorum, bu yüzden rollover'ı elle çağırmam gerekiyor. Ama ekleyiciyi almaya çalıştığımda bunun yerine boş olurum.logback elle döndürme rollover'ı döndürme
ch.qos.logback.classic.Logger logF = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger("com.my.com.pany");
RollingFileAppender<ILoggingEvent> appender = (RollingFileAppender<ILoggingEvent>) logF.getAppender("test");
appender.rollover();
i zaman uyumsuz işi tetikleyebilir zaman çok benim günlük başlayacağını TimeBasedRollingPolicy<E>
uzatıldı:
@NoAutoStart
public class ManualRollingPolicy<E> extends TimeBasedRollingPolicy<E> {
}
somone yardımcı olabilir
<configuration scan="true">
<timestamp key="time" datePattern="yyyy-MM-dd_HH_mm"/>
<logger name="com.my.com.pany" level="DEBUG">
<appender name="TEST" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/log_TEST_${time}.log</file>
<triggeringPolicy
class="com.my.com.pany.myapp.logging.ManualRollingPolicy">
</triggeringPolicy>
<append>true</append>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
</logger>
</configuration>
böyle aktarma diyoruz: Aşağıda benim yapılandırma olduğunu bu konuda benimle DÜZENLEME: Bazı daha fazla soruşturma üzerine LogF
'un appenderList
boyutuna sahip olduğunu ve özel RollingPolicy
düzgün ayarlanmış olduğunu görebiliyorum. Ancak, bu ekleyicinin name
özelliği null olarak ayarlanmış ve bu yüzden isim alamıyorum nedeni olduğunu düşünüyorum.