springboot日志配置(logback+slf4j配置)

2023-09-17 10:56:24

在这里插入图片描述

1.为什么要配置日志

故障排查和问题分析:
日志记录允许开发人员和运维人员在系统发生问题或故障时追踪问题的根本原因。通过查看日志文件,他们可以了解系统在特定时间点发生了什么事情,从而更容易定位和解决问题。

  • 性能监控和优化: 日志记录可以帮助监控应用程序和系统的性能。通过分析日志数据,你可以识别性能瓶颈和瓶颈的位置,从而采取相应的优化措施,提高系统的效率。

  • 合规性和安全性: 许多行业和法规要求记录和保留特定类型的数据,以确保合规性和安全性。配置适当的日志记录可以帮助满足这些法规要求,并为安全团队提供监控潜在威胁的能力。

  • 行为分析和用户跟踪: 在许多应用程序中,日志记录还用于分析用户行为和跟踪用户活动。这有助于改进用户体验,优化产品功能,并了解用户如何与应用程序互动。

  • 历史记录和审计: 日志记录允许你创建系统活动的完整历史记录。这对于审计和追踪系统事件以及在发生问题时进行回溯非常有用。

  • 自动化和警报: 配置日志记录还可以用于自动化任务和触发警报。通过监视日志事件,你可以实现自动化响应,例如,当出现异常或重要事件发生时发送警报或触发自动修复操作。

  • 版本控制和部署监控: 日志记录可以帮助你跟踪应用程序版本的发布和部署过程。这有助于确保部署过程顺利进行,以及在升级或回滚时追踪变更和问题。

总的来说,配置日志是一种维护和监控系统健康的关键方式,它不仅有助于及时诊断和解决问题,还提供了对系统行为和性能的有用见解,同时满足了合规性和安全性方面的需求。因此,几乎所有的软件应用程序和系统都应该配置适当的日志记录。

2.springboot如何配置日志

在这里插入图片描述

springboot支持logback日志系统,甚至不需要手动配置。

并且已经支持了slf4j日志门面,用起来只能说非常好用。

3.日志系统如何使用:

3.1. 简单使用:

  1. 在需要使用的类上使用@Slf4j的注解

在这里插入图片描述
2. 使用log.info等遇见就可以把日志默认输出到控制台
在这里插入图片描述

3.2. 配置文件配置

在这里插入图片描述

  1. 建立配置文件
    我们可以在resorces建立logback的配置文件,(logback.xml,logback-spring.xml均可),具体可以查询springboot logback配置文件约束规范。

  2. 配置配置文件

<?xml version="1.0" encoding="utf-8" ?>
<configuration>

    <property name = "ENCODER_PATTERN" value = "%d{yyyy-MM-dd  HH:mm:ss.SSS} [%thread] %-5level %logger{80} - %msg%n"/>
    <!-- 控制台日志:输出全部日志到控制台 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 控制输出流对象,默认System.out 改为System.err-->
       <target>System.err</target>
        <!-- 日志消息格式配置-->
        <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
            <pattern>${ENCODER_PATTERN}</pattern>
        </encoder>
    </appender>
    <!-- 定义日志文件的位置和格式 -->
    <appender name="file" class="ch.qos.logback.core.FileAppender">
        <!-- 日志文件的路径和文件名 -->
        <file>logs/logfile.log</file>

        <!-- 日志格式 -->
        <encoder>
            <pattern>%date{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- root Logger 配置-->
    <root level="info">
        <appender-ref ref="console" />
        <appender-ref ref="file" />
    </root>
</configuration>

这里我定义了把日志输出到控制台和文件里,打印等级是info,文件路径可以按照自己需求配置
在这里插入图片描述

更多推荐

基础概念回顾:云原生应用交付

原文链接:基础概念回顾:云原生应用交付转载来源:NGINX开源社区NGINX唯一中文官方社区,尽在nginx.org.cn尽管云原生应用开发诞生于21世纪初,但是在术语使用方面还是非常混乱。本文将带您了解常见的术语和问题。云原生云原生计算基金会(CNCF)对“云原生”的定义如下:云原生技术允许企业在公有云、私有云和混合

数据结构-----栈(栈的初始化、建立、入栈、出栈、遍历、清空等操作)

目录前言栈1.定义2.栈的特点3.栈的储存方式3.1数组栈3.2链栈4.栈的基本操作(C语言)4.1初始化4.2判断是否满栈4.3判断空栈4.4入栈4.5出栈4.6获取栈顶元素4.7遍历栈4.8清空栈完整代码示例前言大家好呀!今天我们开始学习新的线性表结构----栈,前面我们学习了链表以及链表的相关操作,那么栈跟链表有

java高级:注解

目录认识注解&自定义注解元注解解析注解注解的应用场景认识注解&自定义注解注解和反射一样,都是用来做框架的,我们这里学习注解的目的其实是为了以后学习框架或者做框架做铺垫的。先来认识一下什么是注解?Java注解是代码中的特殊标记,比如@Override、@Test等,作用是:让其他程序根据注解信息决定怎么执行该程序。比如:

【Powershell 】(Windows下)常用命令 | 命令别名 | 运行Windows命令行工具 | 运行用户程序(vim、gcc、gdb)

微软官方Powershell文档:https://learn.microsoft.com/zh-cn/powershell/命令详细说明,在PDF的最后面:一、Powershell及命令简介1.1命令格式1.2命令的别名二、cmdlet别名三、cmdlet分类介绍3.1基础命令1.Get-Command2.Get-He

什么是Web浏览器的缓存机制?如何控制和清除浏览器缓存?

聚沙成塔·每天进步一点点⭐专栏简介⭐Web浏览器的缓存机制⭐浏览器缓存的工作原理⭐控制和清除浏览器缓存控制缓存⭐清除缓存⭐写在最后⭐专栏简介前端入门之旅:探索Web开发的奇妙世界欢迎来到前端入门之旅!感兴趣的可以订阅本专栏哦!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是

JVM面试题(三)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言二、java中垃圾收集的方法有哪些?1.标记-清除:2.复制算法:3.标记-整理4.分代收集三、java内存模型四、简述java类加载机制?五、类加载器双亲委派模型机制?六、什么是类加载器,类加载器有哪些?七、简述java内存分配与回收策率以及

[echarts] 两侧堆叠柱状图

http://echarts.zhangmuchen.top/#/detail?cid=xOQSXIOQiKconstmyData=['福田区','罗湖区','南山区','盐田区','宝安区','龙岗区','坪山区','龙华区','光明区','大鹏区'];//全彩屏,双基色屏,简易屏,条形屏constoffLine=[

大型游戏动作竞技游戏开发和体感VR/AR游戏开发:创造引人入胜的虚拟世界

大型游戏动作竞技游戏和体感VR/AR游戏都代表了游戏开发领域的最新趋势。它们提供了高度沉浸式的娱乐体验,结合了视觉、听觉和体感互动。在本文中,我们将探讨如何开发这两种类型的游戏,并介绍其关键特点和开发流程。大型游戏动作竞技游戏的特点高品质图形:这些游戏通常具有引人入胜的3D图形,精美的场景和角色模型。多人在线模式:大多

运维:Powershell面向对象编程简介

运维/powershellPowershell面向对象编程简介作者:李俊才(jcLee95):https://blog.csdn.net/qq_28550263邮箱:291148484@163.com本文地址:https://blog.csdn.net/qq_28550263/article/details/13287

Day46:项目-购物车案例

购物车案例准备工作首页默认加载,其余页面懒加载调用defineStore方法构建store入口main做对应配置,找指南,快速开始,把elementplus引入进来import{createApp}from"vue";import{createPinia}from"pinia";import"./style.css";

微信小程序——生命周期详解(代码解读)

✅作者简介:2022年博客新星第八。热爱国学的Java后端开发者,修心和技术同步精进。🍎个人主页:JavaFans的博客🍊个人信条:不迁怒,不贰过。小知识,大智慧。💞当前专栏:微信小程序学习分享✨特色专栏:国学周更-心性养成之路🥭本文内容:微信小程序——使用Vant组件实现Popup弹出层(各位置弹出详细代码分

热文推荐