引入
- 首先需要准备log4j的相关.jar包,将它拖到project下面
- 右键需要引入log4j的project
–>build path
–>configure build path
–>add JARs
–>选择log4j的.jar包
–>apply and close
配置
- src内创建log4j2.xml,用记事本打开,另存为将其编码方式改为UTF-8
`<?xml version="1.0" encoding="UTF-8"?>
<!-- 对配置状态进行关闭,不把打印的细节在控制台中输出 -->
<!-- 该配置状态分为8个级别:高->低:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、ALL -->
<Configuration status="OFF">
<Appenders>
<!-- 在控制台打印日志 -->
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} %-6level [%class{36}:%M] (%F:%L) - %msg%n"/>
</Console>
<!-- 日志输出分为6个级别:高->低:FATAL、ERROR、WARN、INFO、DEBUG、TRACE -->
<File name="your file name" fileName="your log file path" append="false">
//following is the set for lab4
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} %-6level [%class{36}:%M] (%F:%L) - %msg%n"/>
</File>
</Appenders>
<!-- 定义Loggers,只有定义了Loggers并引入刚才的appender配置,配置才会生效 -->
<Loggers>
<Root level="trace">
<!-- Only events at DIAG level or more specific are sent to the console. -->
//change the Appender ret as belows
<AppenderRef ref="Console"/>
<AppenderRef ref="logs"/>
</Root>
</Loggers>
</Configuration>`
应用
在想要记录logger的java文件中
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
在需要logger的class内
private static Logger logger= LogManager.getLogger(yourClass.class);
之后在想要记录的地方调用logger.info()等logger下的方法记录即可,比如:
public void run() {
try {
FlightScheduleApp frame = new FlightScheduleApp();
frame.setVisible(true);
} catch (Exception e) {
logger.error("running error");
e.printStackTrace();
}
}