专栏首页程序源代码【程序源代码】《Spring Boot开发笔记》日志管理​
原创

【程序源代码】《Spring Boot开发笔记》日志管理​

关键字:《Spring Boot 开发笔记》系列文章

各位亲爱的小伙伴:大家好!

《Spring Boot 开发笔记》系列文章

这套笔记和源码是我自己在学习springboot开发中实际一个字一个字敲出来的。因为这套开发笔记是逐步整理出来的,每期会介绍不同的技术开发点。所以请大家关注公众号,以便了解更多关于Spring Boot开发知识点。

《Spring Boot开发笔记》日志管理

(十)日志管理

咱们程序员一般传统的输入日志的方法 就是java类中system.out.println() 输入到控制台。但这样对代码的影响也是比较大的。需要要操作的类文件中都有要写上这些system.out语句,这样影响其实也不好。

现在日志框架的设计理念就是:统一提供一下日志抽象接口,如果你需要在业务类中输出日志就来实现这个日志抽象接口就可以。简单理解就是:抽象层--实现

springboot底层是spring框架,它默认使用的是jcl框架实现日志管理但现在建议使用slf4j 、logback这两个框架 。

一、SFL4J使用

1、使用方法

系统是导入slf4j.jar;但注意的是每个日志的实现框架 都有自己的配置文件,使用后需要配置文件做成日志实现框架 的配置文件;

2、注意事项

因为项目工程中有可以引入不同的框架比如spring/hibernate 多个框架引入不同的日志框架。那就面临一下问题如何统一日志管理。1、将系统中其他日志框架先排除出去 2 用中间包来替换原有的日志框架;3实现就导入slf4j对应的具体实现就可以了。

二、springboot中的日志使用

1、如何更直观的查看pom各种依赖包之间的关系呢;简化成一目了然的图表

idea功能:pom.xml右键点击"Diagrams"(图解) ,然后点击“ show dependencies”(显示依赖)

简化成一目了然的图表

2、日志依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
<version>2.1.0.RELEASE</version>
<scope>compile</scope>
</dependency>
3、注意事项

springboot其实底层是使用的slf4j+logback的方式进行日志记录的;可以理解成:springboot将工程中其它的日志框架替换成slf4j日志框架了。但确实要引入其它的日志框架的时候应该怎么办呢?

4、日志管理和级别
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

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【程序源代码】《Spring Boot开发笔记》日志管理​

    这套笔记和源码是我自己在学习springboot开发中实际一个字一个字敲出来的。因为这套开发笔记是逐步整理出来的,每期会介绍不同的技术开发点。所以请大家关注公众...

    程序源代码
  • 一款免费、开源,使用JAVA语言开发管理系统

    基于SpringBoot2.0的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用

    程序源代码
  • 基于SpringBoot的java权限管理系统

    基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用

    程序源代码
  • Logan:美团点评移动端基础日志库揭秘

    背景 对于移动应用来说,日志库是必不可少的基础设施,美团点评集团旗下移动应用每天产生的众多种类的日志数据已经达到几十亿量级。为了解决日志模块普遍存在的效率、安全...

    美团技术团队
  • 如何优雅的使用ELK构建日志中心

    还在记复杂的Linux命令?还在为查询线上日志而苦恼?还觉得会操作Linux是个很牛X的技能?

    黑洞代码
  • 日志自动分析和解析开源工具

    https://blog.csdn.net/arpospf/article/details/98795806

    lilihongjava
  • 【PaperReading】Tools and Benchmarks for Automated Log Parsing

    Jieming Zhu① , Shilin He② , Jinyang Liu③ , Pinjia He④ , Qi Xie⑤ , Zibin Zheng⑥ ,...

    lilihongjava
  • 你真的会正确使用日志吗?

    日志在应用程序中是非常非常重要的,好的日志信息能有助于我们在程序出现 BUG 时能快速进行定位,并能找出其中的原因。

    xcbeyond
  • C语言 | C++打印有效日志

    一般在程序上线之后,一旦发生异常,第一件事就是要弄清楚当时发生了什么。用户当时做了什么操作,环境有无影响,数据有什么变化,是不是反复发生等,然后再进一步的确定大...

    C语言入门到精通
  • 一套标准的ASP.NET Core容器化应用日志收集分析方案

    关注我公众号的朋友,应该知道我写了一些云原生应用日志收集和分析相关的文章,其中内容大多聚焦某个具体的组件:

    小码甲

扫码关注云+社区

领取腾讯云代金券