Wie man ein log4j-Protokoll manuell dreht
Ich habe log4j so konfiguriert, dass das Protokoll jeden Tag gedreht wird.
In besonderen Situationen möchte ich manuell eine zusätzliche Protokollrotation auslösen.
Ist das möglich - und wenn ja: wie?
So gelöst:
void rolloverLogs() {
for(final Enumeration<?> loggers = LogManager.getCurrentLoggers(); loggers.hasMoreElements(); ) {
final Logger logger = (Logger) loggers.nextElement();
for (final Enumeration<?> appenders = logger.getAllAppenders(); appenders.hasMoreElements(); ) {
final Appender a = (Appender) appenders.nextElement();
if(!RollingFileAppender.class.isInstance(a))
continue;
((RollingFileAppender)a).rollOver();
}
}
}