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

springBoot日志配置

SpringBoot进阶-日志等级配置与操作

一、日志等级
二、设置日志等级
三、打印日志
四、自定义日志格式
五、文件记录日志

一、日志等级

trace:最低等级
debug:调试用,通常用于跟踪程序进展
info: 记录用,通常用于记录程序行为
warn:警告
error:错误
fatal:灾难性错误,最高等级


二、设置日志等级


SpringBoot 默认日志等级为 info,也就是说只在控制台输出 info 或更高等级的日志

在开发阶段如果想临时地更改日志等级进行调试,可以使用下面这个简单的配置:

debug: true

真正要设置项目日志等级则要这样:

logging:level:root: infocom.mzz.example.controller: debugcom.mzz.example.service: debug

日志的等级是根据组或包来设置的,其中 root 组即为整个项目

但以包为单位设置日志等级很麻烦,所以可以自己设置组别,然后为每组分别设置等级:

logging:group:server: com.mzz.example.service, com.mzz.example.controllersql: com.mzz.example.mapperlevel:root: infoserver: debugsql: trace


三、打印日志


打印日志首先要获取日志对象,如下:

 

@RestController
@RequestMapping("/user")
public class UserController {public static final Logger log = LoggerFactory.getLogger(UserController.class);}

由于这行代码写法比较固定,可以用 Lombok 中的 @Slf4j 注解代替,如下:

@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {
}


拿到日志对象后,调用方法即可打印日志,各个等级作为方法名即可打印对应等级的日志:

 

@Slf4j
@RestController
@RequestMapping("/user")
public class UserController {@Autowiredprivate IUserService userService;@PostMappingpublic Result save(@RequestBody User user) {log.debug("尝试保存新用户:{}", user);boolean flag = bookService.save(user);if (!flag) {log.error("保存新用户失败:{}", user);}else {log.info("已保存新用户:{}", user);}return Result.success();}
}

打印日志时,{} 可以作为占位符,数组在之后传入

另外,没有 fatal 等级的日志打印方法,因为 fatal 是指会使程序崩溃的严重错误,程序崩溃日志系统自然无法继续运行,所以打印 fatal 级别的日志没有意义

 

四、自定义日志格式


设置 logging.pattern.console 属性可以自定义控制台打印日志的格式,如下:

logging:pattern:console: "%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n"

上为 SpringBoot 默认的日志格式,参考自:https://blog.csdn.net/qq_34049732/article/details/116722116

五、文件记录日志


看如下示例:

logging:file:name: log/server.log    # 指定文件名称以及路径:启动路径下的 log 文件夹下
#    path: log/    # 指定日志文件路径,不含名称,默认为 spring.loglogback:rollingpolicy:max-file-size: 1MB    # 指定文件最大规格file-name-pattern: log/server_%d{yyyy-MM-dd}_%i.log    # 指定文件名称格式以及路径

滚动日志可以设置每个日志的最大大小

设置滚动日志也依然要设置日志名称,如上的 server.log,里面是最近的日志

logging.file.name 和 logging.file.path 只需配置一个,若同时存在,则 path 无效

 

http://www.rkmt.cn/news/141686.html

相关文章:

  • 2025年年终项目集管理系统推荐:技术实力与生态集成能力双维度实测TOP5 - 十大品牌推荐
  • LangFlow与地理位置服务结合:IP定位与地图展示
  • anything-llm镜像能否识别图表趋势?数据可视化理解能力测试
  • 2025年年终项目集管理平台推荐:多品牌横向深度测评与5强最终排名 - 十大品牌推荐
  • 2025年靠谱推荐学生体质测试仪源头厂家排行榜,新测评精选体质测试仪公司推荐 - 工业推荐榜
  • 2025年靠谱AI搜索排名优化,新测评精选优质服务商排行榜 - mypinpai
  • 2025年靠谱体质健康测试仪品牌排行榜,北京泰美泉公司概况解析 - myqiye
  • 江苏博康特好不好、博康特可以信任吗、江苏博康特口碑好吗全解析 - 工业品牌热点
  • 2025年衬氟过滤洗涤干燥一体机品牌推荐:制药级过滤洗涤干燥三合一设备靠谱厂商有哪些? - 工业品牌热点
  • LangFlow模板市场构想:共享与交易优质流程设计
  • Multisim14.2安装配置详解:注册机使用图文说明
  • Anything-LLM与LlamaIndex集成方法全记录
  • 基于pjsip的多账号管理设计与实现案例
  • 网络分析工具Wireshark系列专栏:17-网站响应慢排查分析
  • 为什么90%的团队在Open-AutoGLM部署上踩坑?资深架构师深度剖析
  • 独立开发者必收,移动端多端适配好烦?试试滴滴这套开源星河小程序框架,一键跑通 Android / iOS / 鸿蒙 / Web
  • LangFlow中的日志分析引擎:异常行为实时告警
  • 项目集管理软件如何选择更可靠?2025年年终主流厂商深度评测及5款推荐 - 十大品牌推荐
  • 2025春熙路火锅口碑榜TOP10,吃货必看!川渝火锅/特色美食/火锅/老火锅/重庆火锅/火锅店/美食火锅品牌选哪家 - 品牌推荐师
  • 谁能讲透AI技术与营销业务融合的实操细节?
  • 仅限内部流出:字谱Open-AutoGLM架构设计背后的7个秘密
  • 如何在30分钟内完成智谱Open-AutoGLM全流程配置?真相在这里
  • PaperFine论文写作终极神器:9款AI工具一键搞定降重、开题到初稿!
  • 【限时稀缺资源】Open-AutoGLM内部文档曝光:3步完成模型自动训练
  • 图解说明ESP32 IDF如何接入阿里云IoT平台
  • 你的数据还在“沉睡”?宏智树AI让Excel表格自己讲出学术故事
  • 智能体在车联网中的应用:第16天 智能体理论基础:从经典定义到PEAS描述框架的完整解析
  • Anything-LLM与LangChain架构异同点深度比较
  • 基于SpringBoot+Vue的网购平台管理系统设计与实现【Java+MySQL+MyBatis完整源码】
  • 30分钟快速上手Open-AutoGLM:智谱清言自动化建模终极指南