Nejdříve je potřeba přidat knihovnu log4j do pom.xml
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
Pak si vytvoříme třídy, které budeme používat a ze kterých budeme logovat.
MyLog4j.java
import org.apache.log4j.Logger;
public class MyLog4j {
private static Logger logger = Logger.getLogger(MyLog4j.class);
public void log() {
logger.info("logging using org.apache.log4j.Logger");
}
}
App.java
public class App {
public static void main(String[] args) {
MyLog4j myLog4j = new MyLog4j();
myLog4j.log();
}
}
Projekt se zkompiluje a jde spustit, ale místo očekávaných informací se v konzoli zobrazí varování.
log4j:WARN No appenders could be found for logger (cz.vitfo.logging.MyLog4j). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Pro správné fungování je třeba ještě v src/main/resources vytvořit soubor log4j.properties a v něm vytvořit konfiguraci appenderu.
# Root logger option
log4j.rootLogger=DEBUG, console
# Redirect log messages to console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%t] %l - %m%n
Po spuštění bude výpis v konzoli vypadat následovně.
2017-06-20 17:27:20,021 INFO [main] cz.vitfo.logging.MyLog4j.log(MyLog4j.java:12) - logging using org.apache.log4j.Logger
Použité značky v log4j.properties znamenají toto.
| % | prefix před konverzním znakem |
| d | datum logované události |
| p | priorita logovavné události |
| t | název vlákna |
| l | místo, kde došlo k logování |
| m | logovaná zpráva |
| n | určení oddělovače rádků |
Zdroje: