前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring-LogBack笔记(1) - 基础使用

Spring-LogBack笔记(1) - 基础使用

作者头像
yingzi_code
发布于 2020-03-18 12:05:33
发布于 2020-03-18 12:05:33
40503
代码可运行
举报
运行总次数:3
代码可运行

Spring-LogBack笔记(1) - 基础使用

Spring内部集成了LogBack的日志组件

日志等级分为6种

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public enum LogLevel {

	TRACE, DEBUG, INFO, WARN, ERROR, FATAL, OFF

}

OFF是关闭日志

其他6种从低到高分别是

TRACE < DEBUG < INFO < WARN < ERROR < FATAL

FATAL这个比较特殊,log的方法里面没有这个方法,指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了

在spring里面可以通过配置文件对每个类或者包的日志等级进行控制,低于配置等级的日志将不会执行

在spring里面使用日志打印也很简单,主要有两种方式

一种是通过LogFactory

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
   private Logger logger = LoggerFactory.getLogger(LogController.class);


    private void print(String key) {
        logger.trace("key: {}", key);
        logger.debug("key: {}", key);
        logger.info("key: {}", key);
        logger.warn("key: {}", key);
        logger.error("key: {}", key);
        System.out.println("key: {}" + key);
    }

另外一种通过@Slf4j在类上面的注解可以直接使用,这种需要先引入Lombok的包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private void print(String key) {
        log.trace("key: {}", key);
        log.debug("key: {}", key);
        log.info("key: {}", key);
        log.warn("key: {}", key);
        log.error("key: {}", key);
        System.out.println("key: {}" + key);
    }

这里就使用@Slf4j在类上面的注解形式在测试

默认配置所有的日志等级都是info,日志等级配置不区分大小写

写个demo测试一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Slf4j
@RestController
@RequestMapping("/log")
public class LogController {

    private void print(String key) {
        log.trace("key: {}", key);
        log.debug("key: {}", key);
        log.info("key: {}", key);
        log.warn("key: {}", key);
        log.error("key: {}", key);
        System.out.println("key: {}" + key);
    }


    @GetMapping("/test")
    public String test(@RequestParam String key) {
        print(key);
        return key;
    }
}

输出打印

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[http-nio-8801-exec-1] INFO  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] WARN  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] ERROR com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
key: {}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

例如配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
logging:
  level:
    com:
      mt:
        demo:
          client:
            controller:
              LogController: error

输出打印

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[http-nio-8801-exec-2] ERROR com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
key: {}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
这种可以配置的方式在生产调试问题的时候还是比较方便的,例如在程序里打上debug的日志,需要调试的时候再动态开启
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
logging:
  level:
    com:
      mt:
        demo:
          client:
            controller:
              LogController: debug

输出打印

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[http-nio-8801-exec-1] DEBUG com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] INFO  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] WARN  com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
[http-nio-8801-exec-1] ERROR com.mt.demo.client.controller.LogController - key: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 
key: {}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring Boot 默认使用 Logback 记录日志
默认情况下,Spring Boot会用 slf4j + logback 的方式进行日志记录,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。
张云飞Vir
2020/10/28
6910
Spring Boot logback日志配置
Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。
技术从心
2019/09/05
1.3K0
Spring Boot 2.x的默认日志管理与Logback配置详解
Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的。在Spring Boot生态中,为Java Util Logging 、Log4J2 和Logback 这些常见的日志框架都提供了自动化配置组件,每种Logger都可以通过配置在控制台或者文件中输出日志内容。默认情况下,当我们使用各种Starter的时候,会使用Logback来实现日志管理。
程序猿DD
2022/01/05
1.1K0
Spring Boot 2.x的默认日志管理与Logback配置详解
Spring Boot 中使用 LogBack 配置
LogBack是一个日志框架,它与Log4j可以说是同出一源,都出自Ceki Gülcü之手。(log4j的原型是早前由Ceki Gülcü贡献给Apache基金会的)下载地址 https://logback.qos.ch/download.html LogBack、Slf4j和Log4j之间的关系 Slf4j是The Simple Logging Facade for Java的简称,是一个简单日志门面抽象框架,它本身只提供了日志Facade API和一个简单的日志类实现,一般常配合Log4j,LogBa
程序员鹏磊
2018/02/09
5.5K0
Spring Boot 中使用 LogBack 配置
springboot中logback配置(spring配置类)
相比于log4j,Logback重写了内核,在一些关键执行路径上性能提升10倍以上。而且logback不仅性能提升了,
全栈程序员站长
2022/07/26
3.1K1
SpringBoot基础(三):Logback日志
适配器作用:以后想要换其他日志框架,只要排除掉logback日志实现,导入log4j2或jul的日志实现即可,代码中API还是slf4j不需要修改,只修改maven依赖就改变了日志的底层实现。
Java微观世界
2025/01/21
3210
SpringBoot基础(三):Logback日志
细说Java主流日志工具库
概述 在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。 在Java世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子。 我们先来逐一了解一下主流日志工具。 java.util
静默虚空
2018/01/05
1.3K0
细说Java主流日志工具库
spring引入log4j2日志框架
Log4j2是Apache的一个开源项目,通过使用Log4j2,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件,甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程等;我们也可以控制每一条日志的输出格式;通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程。最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
逍遥壮士
2020/09/18
1.7K0
spring引入log4j2日志框架
第十节:SpringBoot中的日志管理
系列文章 第一节:创建SpringBoot项目并运行HelloWorld 第二节:SpingBoot单元测试 第三节:SpringBoot中web项目推荐目录结构 第四节:SpringBoot中web模版数据渲染展示 第五节:SpringBoot常用注解介绍 第六节:SpingBoot基本配置一 第七节:SpringBoot高级属性配置二 第八节:SpringBoot指定配置文件配置三 第九节:SpringBoot在线文档Swagger2入门 SpringBoot默认使用的日志框架是logback 。sp
入门笔记
2022/06/02
3630
第十节:SpringBoot中的日志管理
万字详解logback日志框架,再没这么全的了!
老项目中日志使用混乱,某些项目使用log4j,某些项目使用logback,统一是必须的。既然Spring Boot已经将logback做为默认集成的日志框架,全面了解学习是必然了。
程序新视界
2020/10/28
5.2K0
万字详解logback日志框架,再没这么全的了!
第十节:SpringBoot中的日志管理
SpringBoot默认使用的日志框架是logback 。spring-boot-starter中包含了spring-boot-starter-logging模块。该日志框架就是logback。所以我们也不需要单独引入spring-boot-starter-logging模块。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId
入门笔记
2022/02/12
5660
第十节:SpringBoot中的日志管理
springboot中使用logback
Springboot默认集成的就是logback,logback相对来说是优秀于log4j的,log4j2也是参考了logback的设计。本篇就是来看看如何使用logback。
天涯泪小武
2019/01/17
4970
细说 Java 主流日志工具库
在项目开发中,为了跟踪代码的运行情况,常常要使用日志来记录信息。在 Java 世界,有很多的日志工具库来实现日志功能,避免了我们重复造轮子。
用户1516716
2019/08/13
1.2K0
细说 Java 主流日志工具库
Java普通Maven项目如何使用logback日志
在前段时间,写了一个简单的Java项目,就是普通的Maven项目,没有使用到Spring,简简单单帮我处理了批量下载文件的事情。
半月无霜
2025/01/22
2690
Spring Boot 系列:日志动态配置详解
不知道大家有没有过当线上出现问题的时候,需要某些DEBUG日志,但奈何当前使用时INFO。
用户5546570
2020/10/27
2.1K0
Spring Boot 系列:日志动态配置详解
Spring Boot 日志Spring Boot 日志
在任何一个生产系统中,对日志的合理记录是非常重要的。这对系统故障的定位处理极其关键。Spring Boot支持Java Util Logging,Log4j2,Lockback作为日志框架, Spring Boot使用Logback作为默认日志框架。无论使用哪种日志框架,Spring Boot都支持配置将日志输出到控制台或者文件中。 本章我们来详细介绍 Spring Boot 应用的日志的配置与使用。
一个会写诗的程序员
2018/08/17
2K0
忽视日志吃大亏,手把手教你玩转 SpringBoot 日志
对于刚学习编程的同学,很多人都对日志满不在乎,我们在做code review的时候,经常发现一些新同学喜欢一个方法写得很长,然后中间的注释和日志都少的可怜。
程序员大彬
2023/11/03
4.2K1
忽视日志吃大亏,手把手教你玩转 SpringBoot 日志
Spring Boot 2.X(十四):日志功能 Logback
Logback 是由 SLF4J 作者开发的新一代日志框架,用于替代 log4j。
朝雾轻寒
2019/11/05
5650
SpringCloudGateway笔记(2)-filter与自定义filter
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
yingzi_code
2019/08/30
2.1K0
Spring Boot日志文件
前篇我们 讲完了SpringBoot的配置文件,讲解了为什么学配置文件&配置文件的作用,还有两种配置文件的格式与使用。这篇来讲SpringBoot 日志文件,下面我们一起进入SpringBoot 日志文件的世界!
终有救赎
2023/10/16
4670
Spring Boot日志文件
相关推荐
Spring Boot 默认使用 Logback 记录日志
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验