Можно ли настроить log4j для создания нового файла при каждом запуске приложения?



Например, при первом запуске приложения (или сразу после удаления каталога /logs) я хочу, чтобы log4j записал журналы приложения в файл с именем log.0. Затем я выхожу из приложения и перезапускаю его, я хочу, чтобы журналы были записаны в журнал.1. И так далее.



Я хотел бы сохранить это в файле конфигурации, хотя если я не могу, я думаю, что всегда могу сделать это в моем приложении, когда log4j настроен.



Возможно ли это? Если да, то как?

541   4  

4 ответов:

Может быть, это то, что вы ищете

Http://veerasundar.com/blog/2009/08/how-to-create-a-new-log-file-for-each-time-the-application-runs/

**Edit: * * у меня есть еще одно решение! Но понятия не имею, работает это или нет,но попробовать можно http://www.mail-archive.com/[email protected]/msg02132.html

Решение с log4j2:

        <RollingFile name="RollingFile" fileName="${log-path}/GScraper.log"
                 filePattern="${log-path}/GScraper_%d{yyyy-MM-dd}_%i.log">
        <ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
        <PatternLayout>
            <pattern>%level\t%d{yyyy-MM-dd HH:mm:ss} %c: %m%n</pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
            <SizeBasedTriggeringPolicy size="32 MB" />
            <OnStartupTriggeringPolicy/>
        </Policies>
    </RollingFile>

ПримечаниеOnStartupTriggeringPolicy и%i вfilePattern . Таким образом, Log4j будет создавать новый файл журнала с индексом при каждом запуске приложения.

С верхней части моей головы я не думаю, что это возможно с помощью Log4j. возможно, когда вы закрыли приложение, вы могли бы переименовать его .таким образом, при следующем запуске создается новый файл журнала.

Comments

    Ничего не найдено.