×
Vytvárame riešenia

Ako zapisovať v Jave logy do súboru - časť 2

V predchádzajúcom článku som sa venoval knižnici java.util.logging. V tomto článku sa budem venovať knižnici Apache Log4j 2, ktorú je možné stiahnuť tu.
Pre použitie Apache Log4j 2 je potrebné do projektu pridať nasledujúce knižnice:
1
2
log4j-api-2.6.2.jar
log4j-core-2.6.2.jar
Príklad: Jednoduchý príklad použitia Apache Log4j 2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package logger;
import org.apache.logging.log4j.*;
public class ApacheLogger {
public static final Logger LOGGER = LogManager.getLogger("Logger activated");
public ApacheLogger() {
LOGGER.trace("This is a trace message.");
LOGGER.debug("This is a debug message.");
LOGGER.info("This is an info message.");
LOGGER.warn("This is a warning message.");
LOGGER.error("This is an error message.");
LOGGER.fatal("This is a fatal message.");
}
}
Pre zapisovanie logov do súboru je potrebné vytvoriť súbor log4j2.xml.
Príklad: Obsah súboru log4j2.xml.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn"><!-- use status="trace" for troubleshooting -->
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<File name="FILE" fileName="app.log">
<PatternLayout>
<pattern>%d %p [%t] %c{1.} %m%n</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="STDOUT" level="info" />
<AppenderRef ref="FILE" />
</Root>
</Loggers>
</Configuration>
Názov súboru pre logovanie sa definuje v elemente <File> a atribúte fileName. Aby bolo možné vykonávať zápis do súboru je ešte potrebné konfiguračný súbor log4j2.xml nakopírovať do adresára src.
Keďže zápis do súboru prebieha kontinuálne, pre zmazanie predchádzajúceho obsahu je potrebné pridať zápis append="false".
Príklad: Obsah súboru log4j2.xml s mazaním predchádzajúcich logov.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn"><!-- use status="trace" for troubleshooting -->
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
<File name="FILE" fileName="main.log" append="false">
<PatternLayout>
<pattern>%d %p [%t] %c{1.} %m%n</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="STDOUT" level="info" />
<AppenderRef ref="FILE" />
</Root>
</Loggers>
</Configuration>

Záver

Pre podrobnejšiu prácu s Apache Log4j 2 odporúčam pozrieť užívateľskú príručku.


Java,Log4j 2,log,logger,file
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších