15.<Spring Boot 日志>

📜SpringBoot日志:记录应用的生命脉搏🫀

日志是应用程序的"黑匣子",SpringBoot提供了强大而灵活的日志系统,让我们能够轻松记录应用的运行状态。本文将介绍SpringBoot日志的核心功能和使用技巧!🚀

🌈默认日志配置

SpringBoot默认使用Logback作为日志框架,只需简单依赖`spring-boot-starter`即可使用:

```java
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;

@RestController
publicclassMyController{
privatestaticfinalLoggerlogger=LoggerFactory.getLogger(MyController.class);

@GetMapping("/hello")
publicStringhello(){
logger.debug("Thisisadebugmessage");//🐛
logger.info("Thisisaninfomessage");//ℹ️
logger.warn("Thisisawarningmessage");//⚠️
logger.error("Thisisanerrormessage");//❌
return"HelloWorld!";
}
}
```

⚙️日志级别控制

在`application.properties`中可轻松配置日志级别:

```properties
设置根日志级别
logging.level.root=WARN

设置特定包的日志级别
logging.level.com.example.demo=DEBUG

输出到文件
logging.file.name=myapp.log
logging.file.path=/var/log

自定义日志格式
logging.pattern.console=%d{yyyy-MM-ddHH:mm:ss}%thread%-5level%logger{36}-%msg%n
```

🎨高级日志配置

如需更复杂的配置,可创建`logback-spring.xml`文件:

```xml

${LOG_FILE}

logFile.%d{yyyy-MM-dd}.log
30

${FILE_LOG_PATTERN}

```

💡最佳实践

1.合理使用日志级别:DEBUG用于开发,INFO用于生产环境关键信息,WARN/ERROR用于异常情况🏗️
2.结构化日志:考虑使用JSON格式输出,便于日志分析工具处理📊
3.敏感信息过滤:避免在日志中记录密码、密钥等敏感信息🔒
4.性能考量:高频日志使用isDebugEnabled()判断,避免不必要的字符串拼接⚡

SpringBoot的日志系统就像应用程序的"听诊器",帮助我们诊断问题、监控运行状态。掌握好日志技巧,能让你的应用更加健壮可靠!💪记住:好的日志是开发者的好朋友!🤝

相关推荐
杨杨杨大侠4 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java
凤山老林4 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
Thinker QAQ5 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
朱涛的自习室5 小时前
我给 Gemini 4 和 DeepSeek 搞了套「末位淘汰」,AI 干活会更猛吗?(Day 3)
android·前端·后端
霸道流氓气质6 小时前
RAG 可观测性与生产监控实战:四层遥测模型、五大仪表盘与 OpenTelemetry 全链路追踪的 Java 生产级实现
java·人工智能·python
AOI小白新手上路6 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板
java·大数据·数据库
woniu_maggie8 小时前
SAP MDG主数据治理实战:从架构原理到项目实施全解析
后端
xiaoqiMikko8 小时前
Redis 实战(一):内存满了 —— 拒写、淘汰、被系统杀掉,以及删了 key 内存为什么不降(6.2.4 实测)
redis·后端
dishugj8 小时前
系统架构风险点、敏感点和权衡点的概念和区分
java·开发语言