若依日志采用的是springboot的通用日志记录功能
SLF4J + Logback
Spring Boot,自动引入 spring-boot-starter-logging(即 SLF4J + Logback)
- 默认加载 classpath:logback-spring.xml(推荐)或 logback.xml
- 支持在 XML 中使用 Spring 的 和 ${} 占位符
- 可通过 application.yml 快速设置日志级别:
默认加载 classpath:logback-spring.xml(推荐)或 logback.xml
支持在 XML 中使用 Spring 的 和 ${} 占位符
可通过 application.yml 快速设置日志级别:
SLF4J 是日志"门面"(接口规范),Logback 是 SLF4J 的"原生实现"(具体实现)。
logback.xml
logback.xml 是日志的基本配置文件, 目录位置\src\main\resources
如果没有看见日志记录需要手动改下存储路径, window 可以改成D:/RuoYi-Vue/ruoyi-admin/src/main/resources/logs
使用
在若依框架里
java
public class BaseController
{
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
}
java
logger.error(t.getMessage(), t);
继承此类的方法就可以直接使用
或者 在需要使用的类中
java
public class Threads
{
private static final Logger logger = LoggerFactory.getLogger(Threads.class);
}
log方法
在 SLF4J(配合 Logback 使用)中,Logger 接口(即你代码中的 log 对象)提供了 6 个核心日志级别方法,用于记录不同严重程度的日志信息。
这些方法都支持 带参数的占位符格式化(推荐方式),避免不必要的字符串拼接开销。
6 个标准日志方法(按严重程度从低到高)
| 方法 | 用途 | 典型场景 |
|---|---|---|
log.trace(String msg) |
追踪:最详细的信息,通常只在开发/调试时开启 | 进入方法、变量值、循环细节等 |
log.debug(String msg) |
调试:用于调试程序,比 trace 稍粗粒度 | SQL 语句、中间计算结果、分支判断 |
log.info(String msg) |
信息:关键业务流程、系统启动、重要状态变更 | 应用启动完成、用户登录、订单创建 |
log.warn(String msg) |
警告:潜在问题,但不影响系统运行 | 配置缺失使用默认值、重试操作、非预期但可恢复的状态 |
log.error(String msg) |
错误:发生错误,可能影响功能,需关注 | 业务异常、外部服务调用失败、数据校验失败 |
log.error(String msg, Throwable t) |
错误 + 异常堆栈 | 捕获异常并记录完整堆栈信息 |
控制台默认输出 INFO 及以上(即 info, warn, error)
debug: true(在 application.yml 中设置)会开启 DEBUG 级别
trace: true 会开启 TRACE 级别
推荐用法:使用 {} 占位符(避免字符串拼接)
java
// ✅ 推荐:只有当日志级别启用时才格式化
log.debug("User {} logged in from IP {}", username, ip);
log.info("Order {} created with amount {}", orderId, amount);
log.warn("Config file {} not found, using default", configFile);
log.error("Failed to send email to {}", email, exception);