1.添加Maven依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.28</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
commons-logging 包用于记录日志,通常和 log4j.jar共同使用
原因:
在 sun 开发 logger 前, apache 项目已经开发了功能强大的 log4j 日志工具, 并向 sun 推荐将其纳入到 jdk 的一部分,可是 sun 拒绝了 apache 的提议,sun 后来自己开发了一套记录日志的工具。可是现在的开源项目都使用的是 log4j,log4j 已经成了事实上的标准,但由于又有一部分开发者在使用 sun logger,因此 apache 才推出 commons-logging,使得我们不必关注我们正在使用何种日志工具。
2.在 resources 目录下,创建 log4j.properties 文件
log4j.properties 配置文件如下:
# #配置根Logger #
log4j.rootLogger=info,stdout,byDay,byHour
# 输出到控制台 #
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyy-MM-dd HH\:mm\:ss} %5p - %m%n
# 分时段将 dao 下的日志保存到 xxx.log文件下
# report-datadao #
# log4j.logger可以设置不同package的日志输出级别
# 语法为: log4j.logger.packageName=level
# 其中, packageName为实际的包名;level为日志级别,可以设置多个包级别日志;
#log4j.logger.com.xxx.xxx.report.dao.dataDao=DEBUG
log4j.logger.com.xxx.xxx.report.dao.dataDao=DEBUG
log4j.appender.byDay=org.apache.log4j.DailyRollingFileAppender
### 日志文件存储路径
log4j.appender.byDay.File=logs/report-dataDao.log
log4j.appender.byDay.layout=org.apache.log4j.PatternLayout
log4j.appender.byDay.layout.ConversionPattern=%-d{yyyy-MM-dd HH\:mm\:ss} %c{1}.%M(%L) [%p] %m%n
# 将日志以小时保存
# 保存后,文件名为 info.log.2019-10-25-13(表示13时日志) info.log.2019-10-25-14(表示14时日志)
log4j.appender.byHour=org.apache.log4j.DailyRollingFileAppender
log4j.appender.byHour.file=log/info.log
log4j.appender.byHour.DatePattern='.'yyyy-MM-dd-HH
log4j.appender.byHour.Append=true
log4j.appender.byHour.Threshold=INFO
log4j.appender.byHour.layout=org.apache.log4j.PatternLayout
log4j.appender.byHour.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}] [%-5p] [%m] - [%l] %3x %n
log4j.appender.byHour.filter.myRange=org.apache.log4j.varia.LevelRangeFilter
log4j.appender.byHour.filter.myRange.levelMax=INFO
log4j.appender.byHour.filter.myRange.levelMin=INFO
3.使用
# 在类中,通过如下方式引入使用
private static final Logger LOG = Logger.getLogger(xxx.class);
LOG.info("输出日志信息")
SpringBoot 整合 log4j 基础配置,介绍到此为止
如果本文对你有所帮助,那就给我点个赞呗 ^_^
End