一、log4j
1、导包
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2、mybatis设置
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
3、log4j.properties
网上一大堆,找适合自己的,推荐使用log4j2
4、调用
import org.apache.log4j.Logger;
private final Logger LOGGER = Logger.getLogger(Test.class.getName());
二、log4j2
1、导包
<!-- log4j2 -->
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.10.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.10.0</version>
</dependency>
2、log4j2.xml
log4j2.xml是XML或JSON等 不是properties 2也不能丢
直接复制使用即可
<?xml version="1.0" encoding="UTF-8" ?>
<configuration status="error">
<!-- 先定义所有的appender -->
<appenders>
<!-- 输出控制台配置 -->
<Console name="Console" target="SYSTEM_OUT">
<!-- 控制台只输出debug及以上级别的信息 -->
<ThresholdFilter level="debug" />
<!-- 输出日志的格式 -->
<PatternLayout pattern="%d %-5level %class{36} %L %M - %msg%xEx%n"/>
</Console>
<RollingFile name="RollingFileInfo" fileName="${sys:user.home}/logs/info.log"
filePattern="${sys:user.home}/tmall_logs/$${date:yyyy-MM}/info-%d{yyyy-MM-dd}-%i.log">
<!--控制台只输出level及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
</RollingFile>
<RollingFile name="RollingFileError" fileName="${sys:user.home}/logs/error.log"
filePattern="${sys:user.home}/tmall_logs/$${date:yyyy-MM}/error-%d{yyyy-MM-dd}-%i.log">
<!--控制台只输出warn及以上级别的信息(onMatch),其他的直接拒绝(onMismatch)-->
<ThresholdFilter level="warn" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="[%d{HH:mm:ss:SSS}] [%p] - %l - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy/>
<SizeBasedTriggeringPolicy size="100 MB"/>
</Policies>
</RollingFile>
</appenders>
<!-- 然后定义logger,只有定义了logger并引入的appender,appender才会生效 -->
<loggers>
<!-- 过滤掉无用的框架DEBUG信息 -->
<logger name="org.springframework" level="INFO"/>
<logger name="org.mybatis" level="INFO"/>
<root level="all">
<!-- 定义对日志信息如何处理 -->
<appender-ref ref="Console"/>
<appender-ref ref="RollingFileInfo"/>
<appender-ref ref="RollingFileError"/>
</root>
</loggers>
</configuration>
3、调用
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
private static Logger logger = LogManager.getLogger(Test.class.getName());
输出格式,非常好用