程序员社区

SpringBoot笔记(一):SpringBoot整合Log4j

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 文件

SpringBoot笔记(一):SpringBoot整合Log4j插图

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

赞(0) 打赏
未经允许不得转载:IDEA激活码 » SpringBoot笔记(一):SpringBoot整合Log4j

一个分享Java & Python知识的社区