<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="MyFile" fileName="all.log" immediateFlush="false" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
Notes:
- Put the following content in your configuration file.
- Name the configuration file log4j2.xml
- Put the log4j2.xml in a folder which is in the class-path (i.e. your source folder “src”)
- Use
Logger logger = LogManager.getLogger();to initialize your logger - I did set the immediateFlush=”false” since this is better for SSD lifetime. If you need the log right away in your log-file remove the parameter or set it to true