Начало работы с log4j

По традиции давайте создадим простейший пример программы которая выводит на консоль через log4j "Здравствуй Мир!"


1 package ru.log4j.Log4jHelloWorld;
2
3
import org.apache.log4j.Logger;
4
5
/**
6 * Hello world!
7 */

8
public class App {
9
public static final Logger LOG=Logger.getLogger(App.class);
10
public static void main(String[] args) {
11 LOG.info(
"Hello World!");
12 }
13 }
14
скачать исходный код
В строке 9 создаётся Logger, куда и можно передавать сообщения для логирования. В приложении мижет быть много логеров (обычно отдельный логер на каждый класс).
В строке 11 передаётся сообщение с приоритетом "INFO".
Если программу запустить то выведестся сообщение:

log4j:WARN No appenders could be found for logger (ru.log4j.Log4jHelloWorld.App).
log4j:WARN Please initialize the log4j system properly.

И действительно в программе мы сказали что "система log4j, вот информационное сообщение". А что делать с эим сообщением log4j не знает - не настроена.

Давайте настроим log4j на вывод на экран:



1 <?xml version="1.0" encoding="UTF-8" ?>
2
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
3
4
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
5
6
<appender name="console" class="org.apache.log4j.ConsoleAppender">
7
<param name="Target" value="System.out"/>
8
<layout class="org.apache.log4j.PatternLayout">
9
<param name="ConversionPattern" value="%p %c: %m%n"/>
10
</layout>
11
</appender>
12
<!--Корневой logger-->
13
<root>
14
<priority value ="debug" />
15
<appender-ref ref="console" />
16
</root>
17
18
</log4j:configuration>
скачать исходный код

теперь программа выводит то что нужно:

INFO ru.log4j.Log4jHelloWorld.App: Hello World!

скачать исходный код всего примера.

Автор:Ржевский Дмитрий