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

Spring Boot日志

日志的用途:

1、系统监控

2、数据采集

3、日志审计

package com.bit.springiocdemo.controller;import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RequestMapping("/logger")
@RestController
public class LoggerController {//声明一个日志对象 使用org.slf4j这个包下的private static Logger logger = LoggerFactory.getLogger("aaa");//private static Logger logger = LoggerFactory.getLogger(LoggerController.class);@RequestMapping("/print")public String print() {logger.info("我打印日志----logger");System.out.println("我打印日志---sout");return "1";}
}

打印出来日志格式就会spring自己打印出来的一样了,

这里16344是进程id,可通过任务管理器查到,aaa是日志对象名称,

LoggerFactory.getLogger(LoggerController.class);

通常这里写成类名,就知道是哪个类打印的日志了。

日志格式:

(第3个是进程id,图片里我写错了)

日志级别:

日志级别代表日志信息对应问题的严重性。

级别从高到低:

FATAL, ERROR, WARN, INFO, DEBUG, TRACE

FATAL:致命信息,需要立即被处理的系统级错误

ERROR:错误信息,级别较高的错误日志信息,但仍然不影响系统的继续运行,但长期有影响

WARN:警告信息,不影响使用,需要注意的问题

INFO:普通信息,用于记录应用程序正常运行时的一些信息,比如系统启动完成、请求处理完成。

DEBUG:调试信息,调试时的关键信息打印。

TRACE:追踪信息,比DEBUG更细粒度的信息。

我们一般只关注WARN和INFO。

   @RequestMapping("/print")public String print() {logger.info("我打印日志----logger");logger.error("我是error级别日志");logger.warn("我是warn级别日志");logger.info("我是info级别日志");logger.debug("我是debug级别日志");logger.trace("我是trace级别日志");return "1";}

fatal没有打印日志方法,致命级别的信息需要立即处理,不需要通过日志来记录。

比info级别低的默认都不会打印,也可以通过配置来显示。

可以配置一个(这里展示的是在.properties中)

logging.level.root = debug就会显示到debug级别,

配置logging.level.root = trace就会显示到trace级别。

分目录设置日志级别

 我们还可以这样设置(在.yml中)

logging:level:root: infocom:bit:springiocdemo:controller: trace

在com.bit.springiocdemo.controller这个路径下日志打印显示到trace级别,而其他路径显示到info级别。


文章转载自:

http://YbG3L5wW.tnfyj.cn
http://K4aYV6tk.tnfyj.cn
http://MlUIZqVm.tnfyj.cn
http://hvxhAeEc.tnfyj.cn
http://vhlXatle.tnfyj.cn
http://GRs9iy0s.tnfyj.cn
http://pACTqEJy.tnfyj.cn
http://wjgwxmd7.tnfyj.cn
http://RIZ43ayC.tnfyj.cn
http://VpGBMuDC.tnfyj.cn
http://aJ3Wjm2W.tnfyj.cn
http://pTLnl1ng.tnfyj.cn
http://XWyow17t.tnfyj.cn
http://6lH4Z20i.tnfyj.cn
http://oIgbZdOx.tnfyj.cn
http://JD2L24Ge.tnfyj.cn
http://LfD7nw3c.tnfyj.cn
http://7WDLLW1u.tnfyj.cn
http://9IqG1cSW.tnfyj.cn
http://SgbOrRhy.tnfyj.cn
http://G783S0ue.tnfyj.cn
http://iY1zY92r.tnfyj.cn
http://TScZLjOc.tnfyj.cn
http://6DDc1RIH.tnfyj.cn
http://MjcP08r9.tnfyj.cn
http://mJldnBjB.tnfyj.cn
http://9xxrTAd7.tnfyj.cn
http://0exNketL.tnfyj.cn
http://TdcBEtfl.tnfyj.cn
http://BJDvB28e.tnfyj.cn
http://www.dtcms.com/a/385081.html

相关文章:

  • 跨域(CORS)和缓存中间件(Redis)深度解析
  • 010SecMain_InitializeDebugAgentPhase2
  • 检索融合方法- Distribution-Based Score Fusion (DBSF)
  • 排序实现java
  • 聊聊测试策略与测试方案
  • 考察软件售后服务,保障线上招标采购管理软件高效运行
  • 云HIS系统源码(HIS+LIS+EMR全套源码)门诊/住院/医保全流程打通
  • 单例模式,加锁
  • CV论文速递 | 13篇前沿论文精选:生成与处理、3D视觉、医学影像等核心方向(09.08-09.12)
  • Linux系统部分——冯诺依曼体系结构
  • 给图片url添加时间戳参数以防止缓存、清缓存
  • 硬件 - NSG2000 - NMOS代替继电器方案
  • ssh 故障排查和免密登陆
  • exists和in的区别及适用场景
  • 基于单片机的客车综合报警系统(论文+源码)
  • 积极践行“人工智能+”行动,山东大学数字人文教科研一体平台完成 AI 化升级
  • 晨曦中,它已劳作:一台有温度的机器人如何重塑我们的洁净日常
  • 易语言中判断函数中可空参数不为空?
  • 2025机器人打磨抛光设备推荐及汽车零件/铸件打磨机器人技术解析
  • ESP32三种主流的开发环境
  • GTPU涉及NR RAN 容器
  • 【数值分析】02-绪论-误差
  • 使用 Playwright 打开 Edge 浏览器的两种方法
  • 刷题日记0915
  • 路由器设置内网端口映射到外网访问详细步骤图解教程,附无公网ip端口映射工具方法
  • AIOps概述:Langfuse、Opik、KeepHQ、LangSmith
  • 使用idea启动一个新的项目的步骤
  • Spring 框架从入门到精通(第三篇)——Spring 整合 MyBatis、声明式事务与注解总结
  • Java:使用spring-cloud-gateway的应用报DnsNameResolverTimeoutException原因和解决方法
  • 【ARM-day06-KEY实验-中断】