当前位置: 首页 > news >正文

Springboot中日志的简单使用

日志基础

日志的作用

1.编程期间调试代码
2.运营期记录信息
1)记录日常运营的重要信息(峰值流量,平均响应时常。。。)
2)记录应用报错信息
3)记录运维过程数据(扩容,报警。。。。。)

日志的使用

1.创建记录日志的对象

private  static  final Logger log = LoggerFactory.getLogger(StudentController.class);

注意不要引错包了
在这里插入图片描述

2使用lombok 提供的 @Slf4j简化开发,减少日志对象的声明操作

日志的级别

日志等级可以分为5个,从低到高分别是:

  1. DEBUG
  2. INFO
  3. WARNING
  4. ERROR
  5. CRITICAL
    日志等级说明:

DEBUG:程序调试bug时使用
INFO:程序正常运行时使用
WARNING:程序未按预期运行时使用,但并不是错误,如:用户登录密码错误
ERROR:程序出错误时使用,如:IO操作失败
CRITICAL:特别严重的问题,导致程序不能再继续运行时使用,如:磁盘空间为空,一般很少使 用
默认的是WARNING等级,当在WARNING或WARNING之上等级的才记录日志信息。
日志等级从低到高的顺序是: DEBUG < INFO < WARNING < ERROR < CRITICAL

日志控制
日志只会显示等级大于等于当前级别的日志信息
在Springboot启动时默认使用的时INFO级别的日志,所以并不会显示DEBUG级别的日志

调低级别的方式
1 方式一 直接在Springboot配置文件中设置 debug : true 则开启DEBUG级别

2.方式二
在这里插入图片描述
这样即可设置根路径下日志级别为debug

设置某个包的日志级别

在这里插入图片描述

这个带表整个项目是debug级别的日志 这个包下是info级别的日志 但这样设置特别麻烦所以可以设置分组
在这里插入图片描述
设置分组给每一组设置不同的日志级别

小结
1.日志用于记录开发调试与运维过程消息
2.日志的级别通常使用的是四种 分别是DEBUG INFO WARN ERROR
3.可以通过日志组或代码包的形式进行日志级别的控制

日志输出格式控制

日志默认格式
在这里插入图片描述
PID : 进程ID,用于表明当前操作所处线程,当多服务同时记录日志时,该值可用于协助程序员调试程序
所属类/接口名 : 当前显示信息为Springboot重写后的信息,名称过长时,简化包名书写为首字母,甚至直接删除

设置日志输出格式
其中%d 为日期
%m为消息
%n为换行
%p 级别
%t 为线程名 %16t 则线程名占16位
%clr 是添加颜色
例如 %clr(%m) 则日志消息带有颜色

在这里插入图片描述
在这里插入图片描述

记录日志到文件

在这里插入图片描述
默认记录到你当前项目下的文件中
在这里插入图片描述

相关文章:

  • 0. SQL细节要点
  • 网络安全——Cobaltstrike
  • 架构师的 36 项修炼第07讲:高性能系统架构设计
  • 微信小程序开发03 自定义组件:怎么培养组件化思维?
  • 4.bs4 节点遍历
  • 基于ssm+vue+elementui的二手车交易管理系统
  • 计算机毕业设计springboot+vue基本微信小程序的水库巡检系统
  • 3.BeautifulSoup库
  • 8.cookie的获取
  • 商标注册需要什么材料
  • 什么是布隆过滤器
  • 什么是Quartz
  • 【golang】认识 Go 并发+
  • 你知道你的竞争优势吗?
  • 数据结构刷题:第四天
  • 10个确保微服务与容器安全的最佳实践
  • avalon2.2的VM生成过程
  • github从入门到放弃(1)
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Mocha测试初探
  • Node + FFmpeg 实现Canvas动画导出视频
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 基于Mobx的多页面小程序的全局共享状态管理实践
  • 你不可错过的前端面试题(一)
  • 悄悄地说一个bug
  • 区块链将重新定义世界
  • 驱动程序原理
  • 使用Swoole加速Laravel(正式环境中)
  • 写代码的正确姿势
  • elasticsearch-head插件安装
  • ​iOS安全加固方法及实现
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (BFS)hdoj2377-Bus Pass
  • (day6) 319. 灯泡开关
  • (第一天)包装对象、作用域、创建对象
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)PySpark3:SparkSQL编程
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)Linux整合apache和tomcat构建Web服务器
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .FileZilla的使用和主动模式被动模式介绍
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net core 依赖注入的基本用发
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .Net mvc总结
  • .Net 中Partitioner static与dynamic的性能对比
  • .net 中viewstate的原理和使用
  • .NET4.0并行计算技术基础(1)
  • .NET处理HTTP请求
  • .net最好用的JSON类Newtonsoft.Json获取多级数据SelectToken