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: