Конфигурация Log4j: Как создать новую папку на каждый день? - PullRequest
2 голосов
/ 03 декабря 2010

Итак, мы используем Log4j DailyRollingFileAppender для создания наших файлов журнала. Это действительно хорошо, так как он может создавать новый файл для каждого дня или часа. Мы бы хотели, чтобы appender создал новую папку на основе дня, а затем новые файлы журналов на основе часа. Возможно ли это?

Вот наша текущая конфигурация ... в настоящее время настроена на сброс ВСЕХ файлов журнала (создаваемых ежечасно) в someFolder Я предполагаю, что мы можем сделать что-то необычное в параметре «Файл», чтобы сделать то, что мы хотим:

    <appender name="PlainFileAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="someFolder/someFileName_plain.log" />
        <param name="DatePattern" value=".yyyy-MM-dd-HH" />
            <param name="ImmediateFlush" value="true" />
            <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d %-5p [%t] %c{1}: %m%n" />
        </layout> 
            <filter class="com.trgr.cobalt.infrastructure.logging.ClassFilter">
                <param name="classNameFilter" value="com.trgr.cobalt.infrastructure.logging.LogRecord" />
                <param name="acceptOnMatch" value="false" /> 
                <param name="neutrality" value="true" />
            </filter>
    </appender>

1 Ответ

4 голосов
/ 03 декабря 2010

Это невозможно с этим аппендером, поскольку он всегда добавляет дату к указанному имени файла (поэтому вы не можете указать какое-то специальное имя файла для достижения вашего результата) и не создает отсутствующие каталоги, даже если вы указываете какой-то причудливый шаблон даты.

Таким образом, вы можете написать приложение самостоятельно или найти где-нибудь такого настраиваемого приложения log4j. У преемника Log4j, logback, есть такой appender .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...