关键字:《Spring Boot 开发笔记》系列文章
各位亲爱的小伙伴:大家好!
《Spring Boot 开发笔记》系列文章
这套笔记和源码是我自己在学习springboot开发中实际一个字一个字敲出来的。因为这套开发笔记是逐步整理出来的,每期会介绍不同的技术开发点。所以请大家关注公众号,以便了解更多关于Spring Boot开发知识点。
《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
整理中.......请大家关注公众号,了解更多关于Spring Boot 系列文章
联系方式
小编微信加为好友私聊。 andyquanhua
本文分享自微信公众号 - 程序源代码(itcode),作者:程序源代码
原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。
原始发表时间:2020-03-29
本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。
我来说两句