将springboot中自有的logback替换成log4j2

声明:springboot内置logback,只需要在application.yml中配置即可。如果要添加log4j的话,需要更改配置,并且springboot在log4j2.x之后才开始支持,所以在pom.xml中添加log4j,打印不出信息是正常的,所以添加log4j2才可以正常打印日志信息

1、当我们把springboot环境搭建好后,运行起来就会发现控制台出现许多日志功能,尽管我们没有配置日志项!这是springboot内部已经帮我们配置好了日志,只要引入thymeleaf到pom.xml中即可,因为thymeleaf底层依赖logback高级日志功能,logback和log4j2(log4j的升级版)差不多,但是有时候我们需要自己的日志,并打印到本地,那么就需要自己引入

① thymeleaf

② 点击spring-boot-starter-thymeleaf进入查看底层依赖,找到spring-boot-starter

将springboot中自有的logback替换成log4j2_第1张图片

③ 点击spring-boot-starter,找到spring-boot-starter-logging

将springboot中自有的logback替换成log4j2_第2张图片

2、由于springboot自身带有logging日志功能项,那么需要将springboot自身日志功能去除然后添加自己配置的日志,在pom.xml中添加以下内容

将springboot中自有的logback替换成log4j2_第3张图片



    org.springframework.boot
    spring-boot-starter
    
        
            org.springframework.boot
            spring-boot-starter-logging
        
    




    org.springframework.boot
    spring-boot-starter-log4j2

3、在resources下添加log4j2.properties文件,默认启动项目时会先加载log4j2.properties(pom.xml中已经将自身logback忽略)

将springboot中自有的logback替换成log4j2_第4张图片

具体配置

#用来指定 log4j 本身打印日志的级别
status = warn
#指定 Appender 的名字
name = MyApp
filter.threshold.type = ThresholdFilter
#日志级别
filter.threshold.level = info
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = %-d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %m (%c:%L)%n
appender.rolling.type = File
appender.rolling.name = log
appender.rolling.append = true
#打印到本地的路径
appender.rolling.fileName = d:\\test1.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern =  %-d{yyyy-MM-dd HH:mm:ss} [ %-5p ] %m (%c:%L)%n
#日志级别
rootLogger.level = info
rootLogger.appenderRef.stdout.ref = STDOUT
rootLogger.appenderRef.log.ref = log

4、在application-dev.xml中添加logging配置(可以在controller层中加入日志信息查看效果)

将springboot中自有的logback替换成log4j2_第5张图片

 

配置参数

#日志功能,
logging:
  config: classpath:log4j2.properties
  pattern:
    console: "%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n"
    file: "%d{yyyy-MMM-dd HH:mm:ss.SSS} %-5level [%thread] %logger{15} - %msg%n"
  level:
    org.springframework.web: DEBUG
   com.howtodoinjava: INFO
   org.hibernate: DEBUG

5、启动程序,访问成功

将springboot中自有的logback替换成log4j2_第6张图片

你可能感兴趣的:(将springboot中自有的logback替换成log4j2)