Чтобы записать свою регистрационную информацию в файл, вам необходимо использовать 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 — пример программы с вышеуказанной конфигурацией.