У меня есть приложение, которое запускается каждые 15 минут 23 часа в сутки. В большинстве случаев он «просыпается», видит, что данных для обработки нет, и закрывается. Во время инициализации и проверки входных данных есть операторы журнала DEBUG, которые записываются только на консоль. Только после того, как приложение нашло данные для обработки, оно записывает что-либо в файл журнала (уровень INFO и выше). Проблема в том, что прогоны «нет данных для обработки» создают пустые файлы журналов, даже если в них ничего не записывается. Поскольку он включается почти 100 раз в день, такое поведение нежелательно.
Я могу легко реализовать метод ручного удаления этих файлов, если они не нужны, но это кажется... хакерским. Есть ли способ заставить Log4j ждать создания файла журнала, пока в него что-то не будет записано? Спасибо!
Соответствующая часть log4j.properties:
log4j.appender.myFileLogger=org.apache.log4j.RollingFileAppender
log4j.appender.myFileLogger.Append=false
log4j.appender.myFileLogger.File=D:/Imaging/myApp/logs/myApp_${current.date}.log
log4j.appender.myFileLogger.threshold=INFO
log4j.appender.myFileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.myFileLogger.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n