日志配置文件
1.log4j.properties
2.log4j.xml
3.logback.xml
tip:如果不想每次都写private final Logger logger = LoggerFactory.getLogger(当前类名.class); 可以用注解@Slf4j;
log级别:ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF。
All:最低等级的,用于打开所有日志记录.
Trace:是追踪,就是程序推进一下.
Debug:指出细粒度信息事件对调试应用程序是非常有帮助的.
Info:消息在粗粒度级别上突出强调应用程序的运行过程.
Warn:输出警告及warn以下级别的日志.
Error:输出错误信息日志.
Fatal:输出每个严重的错误事件将会导致应用程序的退出的日志.
OFF:最高等级的,用于关闭所有日志记录
本案例以logback.xml为例
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} %-5level %logger{36} - %msg%n
</Pattern>
</layout>
</appender>
<!-- 日志log文件输出 -->
<appender name="iot-account" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.base}/logs/iot-account.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover everyday -->
<fileNamePattern>${catalina.base}/logs/iot-account.%d.log</fileNamePattern>
<!-- keep 10 days' worth of history -->
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<!-- org.springframework下的class error为info级别输出到控制台 -->
<logger name="org.springframework" level="error">
<appender-ref ref="STDOUT"/>
</logger>
<!-- ch.qos.logback下的class error为info级别输出到控制台 -->
<logger name="ch.qos.logback" level="error">
<appender-ref ref="STDOUT"/>
</logger>
<!-- com.jan.iot下的class log为info级别输出到控制台 -->
<logger name="com.jan.iot" level="info">
<appender-ref ref="STDOUT"/>
</logger>
<!-- root级别包括所有class输出info级别以上日志 -->
<root level="info">
<!-- 日志log文件输出 -->
<appender-ref ref="iot-account"/>
<!-- 不注释:控制台输出两次日志 -->
<!-- <appender-ref ref="STDOUT"/> -->
</root>
</configuration>