首页 > 其他分享 >Spring Boot集成日志框架

Spring Boot集成日志框架

时间:2022-11-18 18:05:49浏览次数:73  
标签:xml SpringBoot Spring boot Boot spring 日志 Logback

日志框架

一、日志的作用

日志 (Log) 的作用:

开发调试:在开发过程中,进行逻辑跟踪、查看运行结果
问题排查:辅助排查和定位线上问题,优化程序运行性能
状态监控:监控系统的运行状态、检测非授权的操作
数据分析:日志中蕴含了大量的用户数据,包括点击行为,兴趣偏好等,用户数据对于公司下一步的战略方向有一定的指导方向

二、日志框架总结

  • 日志接口:JCL、SLF4J、Log4j2
  • 日志实现:JUL、Log4j 1.x、Logback、Log4j 2.x

三、Spring Boot集成日志框架

在SpringBoot中,日志框架的建议:

  • SLF4J + Logback
  • SLF4J + Log4j 2.x

四、Spring Boot集成Logback

SpringBoot 默认已经继承了 Logback,不用再添加 Logback 的依赖,配置文件位置是:

  • classpath:logback.xml
  • classpath:logback-spring.xml(SpringBoot 推荐)

SpringBoot 内置的 Logback 配置

  • spring-boot.jar
  • org/springframework/boot/logging/logback/defaults.xml

五、Spring Boot集成Log4j 2.x

  • 通过exclusion排除包
<dependencies>
   <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <exclusions>
        	<!-- 去掉logging -->
            <exclusion>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
	<!-- 添加Log4j2的starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
</dependencies>

配置文件的位置应该是:

  • classpath:log4j2.xml
  • classpath: log4j2-spring.xml(SpringBoot 推荐)

SpringBoot 内置的 Log4j 2.x 默认配置

  • spring-boot.jar
  • org/springframework/boot/logging/log4j2/log4j2.xml

六、注解@Slf4j

@Slf4j是用来做日志输出的,相当于手写下面这行代码:

private final Logger logger = LoggerFactory.getLogger(当前类名.class);

如果不想每次都写上面代码,可以用注解@Slf4j,然后就可以使用log.info()打印日志了。

例如:

@Slf4j
public class LogDemo {
    public static void main(String[] args) {
        log.info("message");
        log.error("error");
        log.warn("warning");
    }
}

标签:xml,SpringBoot,Spring,boot,Boot,spring,日志,Logback
From: https://www.cnblogs.com/keyongkang/p/16902470.html

相关文章

  • 框架进行时——SpringMVC流程简析(一)
    基于SpringWeb(5.3.23)的接口请求分析前情提要假定当前Web项目中有如下实体类和接口:packagecom.example.entity;publicclassWebUser{privateStringname;......
  • SpringBoot提供的三种配置文件格式
    1、application.properties(传统格式/默认格式)e.g.server.port=80 2、application.yml(主流格式、推荐使用)e.g.server:  port:81 3、application.yamle.g.ser......
  • springboot大文件上传、分片上传、断点续传、秒传的实现
    ​对于大文件的处理,无论是用户端还是服务端,如果一次性进行读取发送、接收都是不可取,很容易导致内存问题。所以对于大文件上传,采用切块分段上传,从上传的效率来看,利用多线程......
  • SpringBoot基础配置
    属性配置1、修改配置例子:(1)修改服务器端口server.port=80;(2)关闭运行日志图标(banner)spring.main.banner-mode=off(3)设置日志相关logging.level.root=debug SpringB......
  • 9.springboot项目tomcat换undertow或jetty
    1.1排除tomcat容器<!--1.排除tomcat--><exclusions><exclusion><artifactId>spring-boot-starter-tomcat</artifactId><groupId>org.springframework.boot......
  • Spring Bean 的生命周期(详细解读)
    SpringBean的生命周期简单易懂。在一个bean实例被初始化时,需要执行一系列的初始化操作以达到可用的状态。同样的,当一个bean不再被调用时需要进行相关的析构操作,并从......
  • Spring 框架的核心技术(五)
    5.6.选择要使用的AOP声明样式一旦你确定一个方面是实现给定的最佳方法要求,您如何决定在使用SpringAOP或AspectJ之间以及在方面语言(代码)样式,@AspectJ注释样式,还是Sprin......
  • springboot配置项
    该文档主要描述,在springboot项目下相关的一些配置项的使用记录及说明1、日志文件配置项对应的配置项就是:logging.file=./logs/xxx.log表示这个服务的日志要输出到......
  • SpringBoot使用ServletFileUpload上传文件时servletFileUpload.parseRequest(request)
    1.问题描述1.1SpringBoot使用ServletFileUpload上传文件时List<FileItem>items=servletFileUpload.parseRequest(request)为空//获取ServletFileUploadServletF......
  • tomcat日志类别
    日志类别服务器⽇志catalina.out HTTP访问⽇志localhost_access_log.${date}.txtWeb应⽤⽇志localhost.${date}.log管理日志manage.log日志的级别......