Несколько слов о Log4J

Log4J имеет 3 главных компонента:

Зависимости

Подключите зависимости в pom.xml На момент написания статьи, последней версией была 1.2.17

<dependency>
   <groupId>log4j</groupId>
   <artifactId>log4j</artifactId>
   <version>1.2.17</version>
</dependency>

Настройка

Создайте файл log4j.properties в директории resource (src/main/resources)

Запишите в файл следующие строки

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n

Подробности формата файла log4j.properties

rootLogger - Собственно говоря начало всего. Главный логгер
Присваевыемые ему значения INFO, stdout суть следующие, INFO - уровень логирования, который необходимо журналировать, stdout - выдуманное вами значение логгера, оно же будет присутствовать везде в дальнейшем

log4j.appender.stdout - Нашему созданному логгеру присваиваем аппендер (не знаю, как это лучше перевести :))
Возможные значения (далеко не все):

Каждый класс определяет, куда будет записан лог в консоль или в файл

log4j.appender.stdout.layout - Как собственно будем форматировать наш журнал
Возможные значения (далеко не все):

HTMLLayout будет генерировать html, PatternLayout - простой, форматированный текст

log4j.appender.stdout.layout.conversionPattern - как будет форматироваться запись журнала (Важно, conversionPattern есть только у PatternLayout, не стоит его исопльзовать вместе с HTMLLayout, это ни к чему не приведёт)
Некоторые значения conversionPattern следующие:

В случае с другими типами логгера, тут всё даже проще

Следует определить наши логгеры в log4.rootLogger как

log4j.rootLogger=INFO, file, html

а дальше определить параметры журнала

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=/my/logger/path/log.txt
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss} %p %c:%L - %m%n

log4j.appender.html=org.apache.log4j.FileAppender
log4j.appender.html.File=/my/logger/path/log.html
log4j.appender.html.layout=org.apache.log4j.HTMLLayout
log4j.appender.html.layout.LocationInfo=true
Java log4j
© JavaSE.ru