关键字:《Spring Boot 开发笔记》系列文章
各位亲爱的小伙伴:大家好!
《Spring Boot 开发笔记》系列文章
这套笔记和源码是我自己在学习springboot开发中实际一个字一个字敲出来的。因为这套开发笔记是逐步整理出来的,每期会介绍不同的技术开发点。所以请大家关注公众号,以便了解更多关于Spring Boot开发知识点。
咱们程序员一般传统的输入日志的方法 就是java类中system.out.println() 输入到控制台。但这样对代码的影响也是比较大的。需要要操作的类文件中都有要写上这些system.out语句,这样影响其实也不好。
现在日志框架的设计理念就是:统一提供一下日志抽象接口,如果你需要在业务类中输出日志就来实现这个日志抽象接口就可以。简单理解就是:抽象层--实现
springboot底层是spring框架,它默认使用的是jcl框架实现日志管理但现在建议使用slf4j 、logback这两个框架 。
系统是导入slf4j.jar;但注意的是每个日志的实现框架 都有自己的配置文件,使用后需要配置文件做成日志实现框架 的配置文件;
因为项目工程中有可以引入不同的框架比如spring/hibernate 多个框架引入不同的日志框架。那就面临一下问题如何统一日志管理。1、将系统中其他日志框架先排除出去 2 用中间包来替换原有的日志框架;3实现就导入slf4j对应的具体实现就可以了。
idea功能:pom.xml右键点击"Diagrams"(图解) ,然后点击“ show dependencies”(显示依赖)
简化成一目了然的图表
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<version>2.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
springboot其实底层是使用的slf4j+logback的方式进行日志记录的;可以理解成:springboot将工程中其它的日志框架替换成slf4j日志框架了。但确实要引入其它的日志框架的时候应该怎么办呢?
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello() {
//日志管理
Logger logger = LogFactory.getLog(getClass());
//日志级别:trace>debug>info>warn>error
//默认springboot使用的日志级别是info,如果想调整可以在配置文件中定义日志级别;
logger.info("info级别");
String s = "Hello Springboot";
return s;
}
}
4、配置文件中管理日志
#基础配置日志输出:默认的使用info来输出日志级别,可以通过下面的方式来设置debug级别日志的输出
debug=false
#配置日志输出到文件中:这里输出的日志文件是在项目的根目录下面,这种可以指定文件名
#logging.file=mylog.log
#指定日志文件的输出位置,该方式不能指定文件名,并且如果指定文件后指定文件夹不再生效
logging.path=D://mylog2.log
#用来指定自己创建的日志文件
logging.config=classpath:logger-config.xml
#指定固定包或者包下面的某一个类的日志的输出级别
logging.level.com.example.demo.controller.HelloController=debug
#这是设置最大的日志存储时间
logging.file.max-history=5
#这是设置最大的文件保存的日志大小
logging.file.max-size=100M
#这是日志的输出时间格式
logging.pattern.dateformat=yyyy-MM-dd
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。