07Logger

本文最后更新于 2020-11-26 10:22:31

Logger

常用日志组件

clipboard

日志框架

clipboard
clipboard
clipboard
clipboard

slf4j适配器

  • 适配器需要去除原来的jar,适配器中包含原来的经过修改的jar
    clipboard

spring 4.x日志

  • 直接依赖commons-logging

  • 如果有配置文件配置Log实现等等,优先使用

  • 如果没有按照顺序查找
    clipboard

  • 所以要使用log4j直接添加依赖,即可

1
2
3
4
5
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>

spring 5.x日志

  • 新模块spring-jcl,对commons-logging修改,所以直接加log4j不行
  • 支持log4j2,slf4j,jul
    clipboard
    clipboard
    clipboard

MyBatis日志

clipboard

  • 加载顺序如上图
  • 与spring整合后如果不是用的slf4j,则会进入jcl(spring),如果没有使用其他日志框架,就会使用jul,jul默认级别为info,就不会打印sql.
  • 整合spring5.x后直接加入log4j的jar也不能打印
  • 可以调用usexxxx方法手动设置
    clipboard
    clipboard

配置文件

  • log4j.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
### set log levels 日志的优先级###
log4j.rootLogger=debug , console , fileDebug , fileError

### console ###
##控制台显示
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n

### log file 保存日志文件###
## 每天产生一个文件
log4j.appender.fileDebug = org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileDebug.File = D:/logs/spring_debug.log
## 信息是增加,不是覆盖
log4j.appender.fileDebug.Append = true
log4j.appender.fileDebug.Threshold = DEBUG
log4j.appender.fileDebug.layout = org.apache.log4j.PatternLayout
log4j.appender.fileDebug.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n

### exception 保存异常文件###
log4j.appender.fileError = org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileError.File = D:/logs/spring_error.log
log4j.appender.fileError.Append = true
log4j.appender.fileError.Threshold = ERROR
log4j.appender.fileError.layout = org.apache.log4j.PatternLayout
log4j.appender.fileError.layout.ConversionPattern = %-d{yyyy-MM-dd HH\:mm\:ss} [%p]-[%c] %m%n

#日志文件最大值
log4j.appender.File.MaxFileSize = 1000MB

  • logback.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0" encoding="UTF-8"?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<contextName>logback</contextName>
<property name="log.path" value="D:/logs/logback" />
<!--输出到控制台-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!-- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>ERROR</level>
</filter>-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<!--输出到文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${log.path}/logback.%d{yyyy-MM-dd}.log</fileNamePattern>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>

<root level="debug">
<appender-ref ref="console" />
<appender-ref ref="file" />
</root>

</configuration>

07Logger
https://jiajun.xyz/2020/10/10/java/spring/07Logger/
作者
Lambda
发布于
2020年10月10日
更新于
2020年11月26日
许可协议