简介
Log4j 2 是目前 Log4j 的最新版。本文采用 properties 文件的方式来配置最简单的 Java 项目日志功能。
步骤
项目源码:https://github.com/HustLion/java_console_log4j
- 新建 maven 项目。可参考:Eclipse 创建 java maven 的 Hello world 项目
在 pom.xml 中加入 Log4j 2 依赖
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.8.2</version> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.8.2</version> </dependency>
增加
log4j2.properties
文件到src/main/java
路径下。# 建立名称为 myConsole 的 appender name=PropertiesConfig appenders = myConsole # 设置 myConsole 的参数,其中 name 是用于之后的 ref 的 appender.myConsole.type = Console appender.myConsole.name = std_out_logger appender.myConsole.layout.type = PatternLayout appender.myConsole.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n # 设置 rootLogger 的记录级别,将 myConsole 绑定到 rootLogger 上。 rootLogger.level = debug rootLogger.appenderRef.stdout.ref = std_out_logger
在
/src/main/java/com/hustlion/java_console_log4j/App.java
中写一些 log 相关代码package com.hustlion.java_console_log4j; //引入 log4j 类 import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; /** * Hello world! * */ public class App { // 定义对 rootLogger 的静态引用 private static final Logger rootLogger = LogManager.getRootLogger(); public static void main( String[] args ) { rootLogger.error("Logged by root logger: Hello this is an error"); rootLogger.info("Logged by root logger: Hello World!"); rootLogger.debug("Logged by root logger: Hello debug message."); } }
运行项目,得到
[ERROR] 2017-05-27 21:00:32.519 [main] - Logged by root logger: Hello this is an error [INFO ] 2017-05-27 21:00:32.521 [main] - Logged by root logger: Hello World! [DEBUG] 2017-05-27 21:00:32.521 [main] - Logged by root logger: Hello debug message.