首页 > 其他分享 >SpringBoot中使用log4j进行日志管理

SpringBoot中使用log4j进行日志管理

时间:2023-03-24 18:05:33浏览次数:199  
标签:log boot log4j apache org 日志 appender SpringBoot


场景

SpringBoot项目中使用log4j进行日志管理。

实现

1.因为SpringBoot默认是使用logback,所以要修改pom.xml 过滤掉自带的spring-boot-starter-logging,然后添加spring-boot-starter-log4j依赖包。

<!-- log4j -->
  <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
      <exclusions>
       <exclusion>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-logging</artifactId>
       </exclusion>
      </exclusions>
  </dependency>  
  <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-log4j</artifactId>
       <version>1.3.8.RELEASE</version>
  </dependency>

2.在项目的src/main/resources下新建log4j.prpperties文件

SpringBoot中使用log4j进行日志管理_springboot-log4j

 

代码如下

### set log levels ###   
log4j.rootLogger = INFO,DEBUG, console, infoFile, errorFile ,debugfile,mail
LocationInfo=true   
 
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,SSS}]-[%p]:%m   %x %n
 
log4j.appender.infoFile = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.infoFile.Threshold = INFO 
log4j.appender.infoFile.File = D:/logs/log.log
log4j.appender.infoFile.DatePattern = '.'yyyy-MM-dd'.log' 
log4j.appender.infoFile.Append=true
log4j.appender.infoFile.layout = org.apache.log4j.PatternLayout 
log4j.appender.infoFile.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p]:%m  %x %n
 
log4j.appender.errorFile = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.errorFile.Threshold = ERROR 
log4j.appender.errorFile.File = D:/logs/error.log 
log4j.appender.errorFile.DatePattern = '.'yyyy-MM-dd'.log' 
log4j.appender.errorFile.Append=true 
log4j.appender.errorFile.layout = org.apache.log4j.PatternLayout 
log4j.appender.errorFile.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p]:%m  %x %n

log4j.appender.debugfile = org.apache.log4j.DailyRollingFileAppender 
log4j.appender.debugfile.Threshold = DEBUG 
log4j.appender.debugfile.File = D:/logs/debug.log 
log4j.appender.debugfile.DatePattern = '.'yyyy-MM-dd'.log' 
log4j.appender.debugfile.Append=true 
log4j.appender.debugfile.layout = org.apache.log4j.PatternLayout 
log4j.appender.debugfile.layout.ConversionPattern =[%d{yyyy-MM-dd HH:mm:ss,SSS}]-[%p]:%m  %x %n

3.在controller下新建TestLog4jController.java

package com.example.demo.controller;

import org.apache.log4j.Logger;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@EnableAutoConfiguration
public class TestLog4jController {
 
 private static Logger log = Logger.getLogger(TestLog4jController.class);
 @ResponseBody
 @RequestMapping("/testsLog4j")
 public String tests() {
  log.debug("debug日志");
  log.info("info日志");
  log.warn("warn日志");
  log.error("error日志");
  return "testsLog4j";
 }
 
 public static void main(String[] args) {
  SpringApplication.run(TestLog4jController.class, args);
 }
}

 

导包时要注意不要导错包

SpringBoot中使用log4j进行日志管理_源码下载_02


4.运行结果

SpringBoot中使用log4j进行日志管理_springboot-log4j_03

打开浏览器输入:

http://localhost:8080/testsLog4j

SpringBoot中使用log4j进行日志管理_springboot-log4j_04

控制台输出

SpringBoot中使用log4j进行日志管理_spring_05

5.找到配置的日志文件的输出目录

SpringBoot中使用log4j进行日志管理_springboot-log4j_06


标签:log,boot,log4j,apache,org,日志,appender,SpringBoot
From: https://blog.51cto.com/BADAOLIUMANGQZ/6147613

相关文章