maven依赖:
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.11.2</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.11.2</version>
</dependency>
Java代码
public class SimpleDemo {
static Logger logger = LogManager.getLogger(SimpleDemo.class);
public static void main(String[] args) {
logger.trace("simple demo");
logger.debug("simple demo");
logger.warn("simple demo");
logger.info("simple demo");
logger.error("simple demo");
logger.fatal("simple demo");
}
}
日志打印
ERROR StatusLogger No Log4j 2 configuration file found. Using default configuration (logging only errors to the console), or user programmatically provided configurations. Set system property 'log4j2.debug' to show Log4j 2 internal initialization logging. See https://logging.apache.org/log4j/2.x/manual/configuration.html for instructions on how to configure Log4j 2
13:27:19.810 [main] ERROR com.ylc.demos.logdemos.log4j2demo.SimpleDemo - simple demo
13:27:19.815 [main] FATAL com.ylc.demos.logdemos.log4j2demo.SimpleDemo - simple demo
说明:
这个示例只用了log4j2,没有用任何日志门面(如,slf4j)。
红色日志部分的意思是,没有找到日志的配置,所以用的默认配置,默认配置设置的日志级别是Level.ERROR,所以只会打印error及以上级别的日志(error、fatal)。
默认将ConsoleAppender绑定到root logger。
默认将patternLayout的格式设置为“%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n”,并且绑定到ConsoleAppender。
与默认配置同等效果的配置文件为:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>