SpringBoot日志相关

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: SpringBoot日志相关

SpringBoot使用的是SLF4j当门面,Logback当实现完成


日志级别#


数字越大,级别越高,框架只会输出大于等于当前日志级别的信息

  • ERROR 40
  • WARN 30
  • INFO 20
  • DEBUG 10
  • TRACE 0


几种常用的使用方法#


第一种 :#

private Logger logger = LoggerFactory.getLogger(WeixindiancanApplicationTests.class);
logger.info();
...


默认的级别上info,按上面的排名只会输出 info,warn,error级别以上的日志

在获取logger对象时,一般都是将本类的class传递进去,在默认的格式在日志输出时会把每条日志信息所在的class名输出出来


第二种: SpringBoot整合 Lombok#

Lombok不仅仅提供了强大的@Data,和getset注解,同时支持日志相关

@Slf4j添加在类上,我们就不用再手动的获取Logger对象了,而是直接使用log


log.debug("dubug..."); 
log.info("info...");
log.error("error...");


格式:#

在输出日志的时候可以向下面这样,两种写法


log.info("name="+name+"  age="+age);
log.info("name= {},age: {}",name,age);


application.yml的配置#



如图是日志相关的配置

  • path: E: \

将日志输出到文件 , 默认会在这个路径下创建spring.log

  • file: E:\mylog.log

将日志输出到指定目录的指定文件, 可以取代上面的path

  • level:
  • 可以设置上面的五种日志级别
  • 可以指定某个类的日志级别


logging:
  pattern:
  level:
    com.changwu.wen.WeicanApplication: debug


  • console: 格式,网上很多不同的输出格式


logback-sring.xml的配置#


通过这个配置文件,可以更方便的控制日志的输出,比如将 级别为info的输出到A文件, 级别为error的输出到B文件

默认放置在Resources目录下


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 配置项  配置控制台的输出-->
    <appender name="consoleLog" class="ch.qos.logback.core.ConsoleAppender">
        <!--展示格式-->
        <layout class="ch.qos.logback.classic.PatternLayout">
             <pattern>
                 %d - %msg%n
             </pattern>
        </layout>
    </appender>
    <!-- 配置项  配置文件的输出  -->
    <appender name="fileInfoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 只保留 INFO -->
        <filter class="ch.qos.logback.classic.filter.LevelFilter">
            <level>ERROR</level>
            <!-- 当匹配到error时, 禁止输出 -->
            <onMatch>DENY</onMatch>
            <onMismatch>ACCEPT</onMismatch>
        </filter>
        <encoder> <!--展示格式-->
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滚动策略  按照时间,每天产生一个-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>E:\info.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <!-- 创建第三个配置项,将error和info分别输出到不同的文件中 -->
    <appender name="fileErrorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <!-- 只保留ERROR -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>ERROR</level>
        </filter>
        <encoder>
            <!--展示格式-->
            <pattern>
                %msg%n
            </pattern>
        </encoder>
        <!--滚动策略  按照时间,每天产生一个-->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--路径-->
            <fileNamePattern>E:\error.%d.log</fileNamePattern>
        </rollingPolicy>
    </appender>
    <!-- 将上面的配置项,使用到root目录上 -->
    <root level="info">
        <appender-ref ref="consoleLog"/>
        <appender-ref ref="fileInfoLog"/>
        <appender-ref ref="fileErrorLog"/>
    </root>
</configuration>
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
105 5
|
3天前
|
存储 安全 Java
Spring Boot 3 集成Spring AOP实现系统日志记录
本文介绍了如何在Spring Boot 3中集成Spring AOP实现系统日志记录功能。通过定义`SysLog`注解和配置相应的AOP切面,可以在方法执行前后自动记录日志信息,包括操作的开始时间、结束时间、请求参数、返回结果、异常信息等,并将这些信息保存到数据库中。此外,还使用了`ThreadLocal`变量来存储每个线程独立的日志数据,确保线程安全。文中还展示了项目实战中的部分代码片段,以及基于Spring Boot 3 + Vue 3构建的快速开发框架的简介与内置功能列表。此框架结合了当前主流技术栈,提供了用户管理、权限控制、接口文档自动生成等多项实用特性。
28 8
|
2月前
|
Java 中间件
SpringBoot入门(6)- 添加Logback日志
SpringBoot入门(6)- 添加Logback日志
55 1
|
2月前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
58 1
|
3月前
|
Java Maven Spring
SpringBoot日志整合
SpringBoot日志整合
36 2
|
3月前
|
数据采集 监控 Java
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
本文是关于SpringBoot日志的详细教程,涵盖日志的定义、用途、SLF4J框架的使用、日志级别、持久化、文件分割及格式配置等内容。
243 0
SpringBoot日志全方位超详细手把手教程,零基础可学习 日志如何配置及SLF4J的使用......
|
3月前
|
SQL XML 监控
SpringBoot框架日志详解
本文详细介绍了日志系统的重要性及其在不同环境下的配置方法。日志用于记录系统运行时的问题,确保服务的可靠性。文章解释了各种日志级别(如 info、warn、error 等)的作用,并介绍了常用的日志框架如 SLF4J 和 Logback。此外,还说明了如何在 SpringBoot 中配置日志输出路径及日志级别,包括控制台输出与文件输出的具体设置方法。通过这些配置,开发者能够更好地管理和调试应用程序。
|
4月前
|
运维 NoSQL Java
SpringBoot接入轻量级分布式日志框架GrayLog技术分享
在当今的软件开发环境中,日志管理扮演着至关重要的角色,尤其是在微服务架构下,分布式日志的统一收集、分析和展示成为了开发者和运维人员必须面对的问题。GrayLog作为一个轻量级的分布式日志框架,以其简洁、高效和易部署的特性,逐渐受到广大开发者的青睐。本文将详细介绍如何在SpringBoot项目中接入GrayLog,以实现日志的集中管理和分析。
322 1
|
5月前
|
监控 Java Serverless
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
美团 Flink 大作业部署问题之想在Serverless平台上实时查看Spring Boot应用的日志要怎么操作
|
5月前
|
Java Linux C++
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑
【Azure 应用服务】App Service For Linux 部署Java Spring Boot应用后,查看日志文件时的疑惑