×
Creating solutions

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
No part of this article may be reproduced without mention of the author and URL to this website.
For more information, see the About section.

Comments

Article has no comments.

Add a comment

Name (required)
Website
Message (required)
Submit
From latest