Чтобы записать свою регистрационную информацию в файл, вам необходимо использовать org.apache.log4j.FileAppender .
Конфигурация FileAppender
FileAppender имеет следующие настраиваемые параметры:
| Имущество | Описание |
|---|---|
| immediateFlush | Этот флаг по умолчанию имеет значение true, что означает, что поток вывода в файл сбрасывается при каждой операции добавления. |
| кодирование | Можно использовать любую кодировку символов. По умолчанию это специфичная для платформы схема кодирования. |
| порог | Пороговый уровень для этого приложения. |
| Имя файла | Имя файла журнала. |
| FileAppend | По умолчанию установлено значение true, что означает, что информация о журнале добавляется в конец того же файла. |
| bufferedIO | Этот флаг указывает, нужно ли нам включить буферизованную запись. По умолчанию установлено значение false. |
| размер буфера | Если буферизованный ввод / вывод включен, он указывает размер буфера. По умолчанию он установлен на 8 КБ. |
Ниже приведен пример файла конфигурации log4j.properties для FileAppender.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, overwrite
log4j.appender.FILE.Append=false
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Если вы хотите иметь файл конфигурации XML, эквивалентный указанному выше файлу log4j.properties , то вот содержимое:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="FILE" class="org.apache.log4j.FileAppender"> <param name="file" value="${log}/log.out"/> <param name="immediateFlush" value="true"/> <param name="threshold" value="debug"/> <param name="append" value="false"/> <layout class="org.apache.log4j.PatternLayout"> <param name="conversionPattern" value="%m%n"/> </layout> </appender> <logger name="log4j.rootLogger" additivity="false"> <level value="DEBUG"/> <appender-ref ref="FILE"/> </logger> </log4j:configuration>
Вы можете попробовать log4j — пример программы с вышеуказанной конфигурацией.
Вход в несколько файлов
Возможно, вы захотите записать свои сообщения журнала в несколько файлов по определенным причинам, например, если размер файла достиг определенного порогового значения.
Чтобы записать информацию о регистрации в несколько файлов, вам необходимо использовать класс org.apache.log4j.RollingFileAppender, который расширяет класс FileAppender и наследует все его свойства.
У нас есть следующие настраиваемые параметры в дополнение к упомянутым выше для FileAppender:
| Имущество | Описание |
|---|---|
| MaxFileSize | Это критический размер файла, выше которого файл будет свернут. Значение по умолчанию составляет 10 МБ. |
| maxBackupIndex | Это свойство обозначает количество создаваемых файлов резервных копий. Значением по умолчанию является 1. |
Ниже приведен пример файла конфигурации log4j.properties для RollingFileAppender.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the maximum file size before rollover
log4j.appender.FILE.MaxFileSize=5KB
# Set the the backup index
log4j.appender.FILE.MaxBackupIndex=2
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Если вы хотите иметь файл конфигурации XML, вы можете сгенерировать то же, что упомянуто в начальном разделе, и добавить только дополнительные параметры, относящиеся к RollingFileAppender .
Этот пример конфигурации демонстрирует, что максимально допустимый размер каждого файла журнала составляет 5 МБ. При превышении максимального размера будет создан новый файл журнала. Поскольку maxBackupIndex определено как 2, как только второй файл журнала достигнет максимального размера, первый файл журнала будет удален, и после этого вся информация журнала будет откатана до первого файла журнала.
Вы можете попробовать log4j — пример программы с вышеуказанной конфигурацией.
Генерация ежедневного журнала
Может потребоваться, чтобы ваши файлы журналов создавались ежедневно, чтобы вести чистую запись вашей информации журналов.
Чтобы ежедневно записывать информацию о журналировании в файлы, вы должны будете использовать класс org.apache.log4j.DailyRollingFileAppender, который расширяет класс FileAppender и наследует все его свойства.
Существует только один важный настраиваемый параметр в дополнение к упомянутым выше для FileAppender:
| Имущество | Описание |
|---|---|
| DatePattern | Это указывает, когда следует пролонгировать файл и соблюдать соглашение о присвоении имен. По умолчанию перенос выполняется в полночь каждый день. |
DatePattern управляет расписанием опрокидывания, используя один из следующих шаблонов:
| DatePattern | Описание |
|---|---|
| » гггг-ММ | Перевернитесь в конце каждого месяца и в начале следующего месяца. |
| » YYYY-MM-дд | Перевернитесь в полночь каждый день. Это значение по умолчанию. |
| » гггг-ММ-дд-а | Перевернитесь в полдень и полночь каждого дня. |
| » гггг-ММ-дд-НН | Переверните вверху каждого часа. |
| » гггг-ММ-дд-мм-НН | Перевернись каждую минуту. |
| » гггг-WW | Сверните в первый день каждой недели в зависимости от региона. |
Ниже приведен пример файла конфигурации log4j.properties для создания файлов журналов, обновляемых в полдень и полночь каждого дня.
# Define the root logger with appender file
log4j.rootLogger = DEBUG, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
# Set the name of the file
log4j.appender.FILE.File=${log}/log.out
# Set the immediate flush to true (default)
log4j.appender.FILE.ImmediateFlush=true
# Set the threshold to debug mode
log4j.appender.FILE.Threshold=debug
# Set the append to false, should not overwrite
log4j.appender.FILE.Append=true
# Set the DatePattern
log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Если вы хотите иметь файл конфигурации XML, вы можете сгенерировать то же, что упомянуто в начальном разделе, и добавить только дополнительные параметры, связанные с DailyRollingFileAppender .
Вы можете попробовать log4j — пример программы с вышеуказанной конфигурацией.