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

一、SpringBoot基础[日志]

一、日志

解释:SpringBoot使用logback作为默认的日志框架,其中还可以导入log4j2等优秀的日志框架

1.修改日志内容

  1. 修改整个日志格式:logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{15} 你好 %msg%n
  • %d{yyyy-MM-dd HH:mm:ss}:将日期格式化为"年-月-日 时:分:秒"的形式,其中yyyy表示四位数的年份,MM表示- 两位数的月份,dd表示两位数的日期,HH表示24小时制的小时,mm表示两位数的分钟,ss表示两位数的秒数。
  • %-5level:输出日志级别,-5表示最多输出5个字符的级别名称,左对齐。
  • [%thread]:输出日志所在线程的名称。
  • %logger{15}:输出日志记录器的名称,最多显示15个字符。
  • 你好:输出固定的文本"你好"。
  • %msg:输出日志的具体消息。
  • %n:输出系统特定的换行符
  1. 只改时间格式:logging.pattern.dateformat=yyyy-MM-dd HH:mm:ss
  2. 修改msg
@Controller // 用于标识Web控制器层的组件
public class hello {@ResponseBody@GetMapping("/doudou")public String hello(){var logger = LoggerFactory.getLogger(getClass());//获取该类的日志工厂内容(打印内容:2023-07-29 14:39:34  INFO 19524 --- [nio-8080-exec-2] com.gaodidi.controller.hello //获取该类的日志工厂内容(打印内容:2023-07-29 14:39:34  INFO 19524 --- [nio-8080-exec-2] com.gaodidi.controller.hello             : nh)logger.info("nh");return "nh";}
}

2.日志级别

解释:springboot默认日志级别开启的为INFO,调整不同级别,将会输出其级别及其级别以上的内容(下面内容级别由高到低)

  • TRACE:追踪框架详细流程日志,一般不使用
  • DEBUG:开发调试细节日志
  • INFO:关键、感兴趣信息日志
  • WARN:警告但不是错误的信息日志,比如:版本过时
  • ERROR:业务错误日志,比如出现各种异常
  • FATAL:致命错误日志,比如jvm系统崩溃
  • OFF:关闭所有日志记录
  1. 调整项目日志级别:logging.level.root=debug
  2. 调整某个路由日志级别打印
@Controller // 用于标识Web控制器层的组件
public class hello {@ResponseBody@GetMapping("/doudou")public String hello(){var logger = LoggerFactory.getLogger(getClass());logger.debug("nh");//此时访问该路由打印内容级别为debug级别return "nh";}
}

3.日志写入到文件

解释:将运行的日志写入到文件当中去

配置代码:logging.file.name=di.log

  1. 切割日志:当日志超过指定大小时,分成多个文件,并且根据时间变化,默认每一天新建一个日志
  • 命名:logging.logback.rollingpolicy.file-name-pattern=${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz(LOG_FILE就是上面设置的文件名,%i是从0一直增大的编号)
  • 文件大小:logging.logback.rollingpolicy.max-file-size=1KB
  1. 限制日志大小:logging.logback.rollingpolicy.total-size-cap=50MB
  • 解释:如果你有n个历史日志文件,它们的大小总和超过了 logging.logback.rollingpolicy.total-size-cap 设置,滚动策略将会删除最旧的日志文件,从而保持总大小在设定的限制内

4.使用log4j2框架

解释:log4j2在某些场景下有更强的性能,同时其可以用yml等配置更加灵活

注意:对于log4j2的配置和上面并不一样

导入:

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-log4j2</artifactId></dependency>
http://www.lryc.cn/news/100635.html

相关文章:

  • libuv库学习笔记-networking
  • C++多线程编程(第三章 案例1,使用互斥锁+ list模拟线程通信)
  • IOS UICollectionView 设置cell大小不生效问题
  • 浅谈3D隐式表示(SDF,Occupancy field,NeRF)
  • 软件测试技能大赛任务二单元测试试题
  • MybatisPlus拓展篇
  • 设置k8s中节点node的ROLES值,K8S集群怎么修改node1的集群ROLES
  • 【*1900 图论】CF1328 E
  • 微信开发者工具 miniprogram_npm 未找到
  • 计算机视觉(三)未有深度学习之前
  • 二十六、媒体查询2
  • Themis 国库建设计划启动,开启去中心化新征程
  • uni-app:模态框的实现(弹窗实现)
  • 第九章:stack类
  • FSM:Full Surround Monodepth from Multiple Cameras
  • idea 安装 插件jrebel 报错LS client not configured.
  • Raki的读paper小记:RWKV: Reinventing RNNs for the Transformer Era
  • PaddleOCR #PP-OCR常见异常扫雷
  • Qt加载字体文件
  • 3ds MAX绘制简单动画
  • 页面访问控制远程仓库
  • 小程序 user agent stylesheet 覆盖了page下wxss背景色
  • Vue.js高阶学习和常用知识(二)
  • html实现蜂窝菜单
  • 云原生训练营课程大纲
  • 【Ajax】笔记-同源策略
  • Java使用FFmpeg实现mp4转m3u8
  • 【JavaEE初阶】Servlet (三)MessageWall
  • D. Make It Round
  • Python网站页面开发HTML总结