spring boot (4) 使用log4 打印日志
2023-09-11 14:22:18 时间
1.排除spring boot 原有的日志依赖
在创建Spring Boot工程时,我们引入了spring-boot-starter
,其中包含了spring-boot-starter-logging
,该依赖内容就是Spring Boot默认的日志框架Logback,所以我们在引入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>
2.引入日志依赖 抽象层 与 实现层
<!--引入日志依赖 抽象层 与 实现层--> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.21</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.21</version> </dependency>
3. 配置:
log4j.rootLogger=DEBUG,stdout,file log4j.additivity.org.apache=true log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.threshold=INFO log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%-5p %c{1}:%L - %m%n log4j.appender.file=org.apache.log4j.DailyRollingFileAppender log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.DatePattern='.'yyyy-MM-dd-HH-mm log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n log4j.appender.file.Threshold=INFO log4j.appender.file.append=true log4j.appender.file.File=/workspaces/logs/foodie-api/imooc.log
4.编写测试类
package com.imooc.controller; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import springfox.documentation.annotations.ApiIgnore; @ApiIgnore //@Controller @RestController public class Hello { final static Logger logger = LoggerFactory.getLogger(Hello.class); @GetMapping("/hello111") public Object hello() { logger.debug("debug: hello~"); logger.info("info: hello~"); logger.warn("warn: hello~"); logger.error("error: hello~"); return "hello world1"; } }
效果:
相关文章
- Spring Boot JPA 中transaction的使用
- 浅谈Shiro框架在Spring Boot中的认证应用
- Spring Boot 配置文件
- Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time
- Spring Boot详细总结
- 【Java】Spring boot、Mysql项目部署到Linux中后启动日志慢8小时(时区不对/时区错误)
- Spring Boot日志定义
- 自定义Spring Boot Starter
- Spring Boot-intellij idea导入方式搭建SpringBoot
- 人脸检测第一文---A Dream of Spring
- Spring Boot 2 中如何使用 Log4j2 记录日志
- Spring Boot 2.x基础教程:使用Flyway管理数据库版本
- Spring Boot 2.x基础教程:找回启动日志中的请求路径列表
- Spring Boot初步认识
- spring+hibernate+jpa+Druid的配置文件,spring整合Druid
- HikariCP和spring-boot-devtools了解
- Spring Boot动态修改日志级别
- spring boot 日志介绍 以及 logback配置示例
- Spring+Boot核心笔记(一):环境准备、配置文件详解、日志模块
- Spring Boot应用连接数据库MySQL、及一个简单的demo
- [转]Spring Boot——2分钟构建spring web mvc REST风格HelloWorld
- Spring boot实现定时任务二:使用注解@scheduled和@EnableScheduling
- 全栈开发实战|电子商务平台的设计与实现(Spring Boot + MyBatis + Thymeleaf)
- Spring Boot 2 + jpa + mysql例子
- springboot 项目中通过 mybatis-spring-boot-starter 来使用mybatis
- 让你的spring-boot应用日志随心所欲--spring boot日志深入分析
- 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享
- spring boot 日志配置 默认的日志配置
- spring boot mapper层传参数是用main的arg0(第一个参数),arg1(第二个参数)