Подтвердить что ты не робот

Как получить выход Java Logger в файл по умолчанию

Netbeans задумчиво разбрызгивает Logger.getLogger(this.getClass(). getName()). log (Уровень. [...] в блоках catch. Теперь я хотел бы указать все их на файл (и на консоль).

Каждый учебник по журналированию и только я рассказываю, как получить конкретный регистратор для вывода в файл, но я предполагаю, что есть лучший способ, чем исправление каждого автоматически созданного оператора регистрации? Установка обработчика для какого-то корневого регистратора или что-то еще?

4b9b3361

Ответ 1

Я просто добавляю следующее при запуске

Handler handler = new FileHandler("test.log", LOG_SIZE, LOG_ROTATION_COUNT);
Logger.getLogger("").addHandler(handler);

Вы можете указать свои собственные значения для LOG_SIZE и LOG_ROTATION_COUNT

Вам может потребоваться настроить уровень ведения журнала, чтобы он соответствовал.

Ответ 2

Вы должны определить, где записывается журнал в файле конфигурации регистратора. Например, если вы используете log4j, файл log4j.xml(или log4j.properties) будет содержать такую ​​информацию.

Например, вот простой файл log4j.xml, который регистрируется непосредственно в файле (my-app.log) и в консоли:

<?xml version="1.0" encoding="UTF-8"?>
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

    <appender name="rolling" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="my-app.log" />
        <param name="DatePattern" value=".yyyy-MM-dd" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [IP=%X{ipAddress}] [user=%X{user}] %m%n" />
        </layout>
    </appender>

    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{yyyy-MM-dd HH:mm:ss} %-5p [%C] [user=%X{user}] %m%n" />
        </layout>
    </appender>

    <root>
        <priority value="info" />
        <appender-ref ref="console" />
        <appender-ref ref="rolling" />
    </root>

</log4j:configuration>