<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<!-- 控制檯打印日誌 -->
<Console name="consolePrint" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<!-- 將日誌輸出到指定文件 fileName屬性值爲日誌文件地址-->
<File name="LogFile" fileName="D:\file.log" append="false">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</File>
<File name="SqlLogFile" fileName="D:\mybatis.log" append="false">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n" />
</File>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="consolePrint" />
</Root>
PS:配置多個logger可以指定不同類或包下打印的日誌輸出到不同的文件裏,name屬性值設置爲指定的類或包,additivity設置爲"false"將只作用於當前appender-ref,即sql不會打印在root指定的appender(控制檯)裏,只會單獨打印在指定的日誌文件(mybatis.log)中
<!-- 配置mybatis打印sql 指定mapper所在包的全路徑 -->
<logger name="com.domain.mapper" level="DEBUG" additivity="false">
<appender-ref ref="SqlLogFile" />
</logger>
<!-- 將com.test包下的Test類中的級別不小於INFO的日誌既打印到root指定的appender(控制檯)中又單獨打印到指定的日誌文件(file.log)中 -->
<logger name="com.test.Test" level="INFO" additivity="true">
<appender-ref ref="LogFile" />
</logger>
</Loggers>
</Configuration>
package com.test;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Test {
private Logger logger = LogManager.getLogger(Test.class);
public void test() {
logger.info("我將被打印到file.log中");
}
}
log4j2的xml配置控制檯打印日誌和自定義打印到指定日誌文件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.