# 日志级别配置说明

## 问题：系统调试日志太多

系统会输出大量 MPU、OS 等调试信息，影响开发。

## 解决方案

### 1. 降低默认日志级别

在 `prj.conf` 中：
```kconfig
CONFIG_LOG_DEFAULT_LEVEL=3  # 只显示 INF 及以上级别（不显示 DBG）
```

日志级别：
- `0` = NONE（无日志）
- `1` = ERR（错误）
- `2` = WRN（警告）
- `3` = INF（信息）✅ 推荐
- `4` = DBG（调试）

### 2. 关闭特定模块的调试日志

```kconfig
# 关闭 MPU 调试日志
CONFIG_LOG_MPU_LEVEL_WRN=y

# 关闭 OS 调试日志
CONFIG_LOG_OS_LEVEL_WRN=y

# 关闭内核调试日志
CONFIG_LOG_KERNEL_LEVEL_WRN=y
```

### 3. 在代码中注释掉调试日志

如果某些模块的调试日志不需要，可以在代码中注释掉：
```c
/* LOG_DBG("Worker thread running..."); */
```

## 当前配置

已配置为：
- 默认日志级别：INF（只显示信息及以上）
- MPU 日志：WRN（只显示警告）
- OS 日志：WRN（只显示警告）
- 内核日志：WRN（只显示警告）

## 如果需要临时启用调试日志

### 方法 1：修改 prj.conf
```kconfig
CONFIG_LOG_DEFAULT_LEVEL=4  # 启用所有调试日志
```

### 方法 2：在代码中启用特定模块
```c
LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG);  // 启用该模块的调试日志
```

### 方法 3：使用 menuconfig
```powershell
west build -t menuconfig
```
然后导航到 `Logging` 部分调整日志级别。

## 推荐配置

**开发阶段**：
- 默认级别：INF（看到重要信息）
- 系统模块：WRN（只显示警告和错误）

**调试阶段**：
- 默认级别：DBG（看到所有日志）
- 系统模块：DBG（如果需要）

**生产阶段**：
- 默认级别：ERR（只显示错误）
- 系统模块：ERR（只显示错误）

