Lumesh Shell 日志模块使用文档
模块路径
log.
日志级别常量
常量路径 | 值 | 说明 |
---|---|---|
log.level.none |
0 | 禁用所有日志 |
log.level.error |
1 | 严重错误(红色输出) |
log.level.warn |
2 | 警告(黄色输出) |
log.level.info |
3 | 信息(绿色输出,默认级别) |
log.level.debug |
4 | 调试(蓝色输出) |
log.level.trace |
5 | 跟踪(紫色输出) |
日志控制函数
1. log.set_level
设置全局日志级别
- 参数:
level
:整数(必须为log.level.*
常量值)
- 返回:
none
- 错误:
TypeError
:非整数参数ArityError
:参数数量≠1
示例:
# 启用DEBUG及以上级别
log.set_level log.level.debug
2. log.get_level
获取当前日志级别
- 参数:无
- 返回:整数(当前级别值)
示例:
log.get_level() ; => 4 (DEBUG)
3. log.disable
禁用所有日志(等效于set_level 0
)
- 参数:无
- 返回:
none
示例:
log.disable()
4. log.enabled?
检查指定级别是否启用
- 参数:
level
:整数(日志级别值)
- 返回:布尔值(
true
/false
)
示例:
# 检查INFO级别是否启用
log.enabled log.level.info ; => true
日志输出函数
所有函数:
- 支持任意数量参数(自动拼接为字符串)
- 多行文本自动对齐前缀
- 低于当前级别时跳过输出
1. log.error
输出错误日志(红色)
- 参数:任意类型(自动转换为字符串)
- 返回:
none
示例:
log.error "File not found:" "/data/config.yaml"
# 输出: 🔴 [ERROR] File not found: /data/config.yaml
2. log.warn
输出警告日志(黄色)
- 参数:任意类型
示例:
log.warn "Deprecated API called at line" 42
# 输出: 🟡 [WARN] Deprecated API called at line 42
3. log.info
输出信息日志(绿色)
- 参数:任意类型
示例:
log.info "Server started on port" 8080
# 输出: 🟢 [INFO] Server started on port 8080
4. log.debug
输出调试日志(蓝色)
- 参数:任意类型
示例:
log.debug "Received JSON:" "{ id: 5, status: \"ok\" }"
# 输出: 🔵 [DEBUG] Received JSON: { id: 5, status: "ok" }
5. log.trace
输出跟踪日志(紫色)
- 参数:任意类型
示例:
log.trace "Function entry:" "calculate_score()"
# 输出: 🟣 [TRACE] Function entry: calculate_score()
6. log.echo
原始输出(无前缀/颜色/级别过滤)
- 参数:任意类型
- 特性:
- 不添加日志前缀
- 不受日志级别控制
示例:
log.echo "Raw output" (math.sum 1 2) ; # => Raw output 3
多行输出规范
log.info "Multiline message:\nLine1\nLine2"
输出效果:
[INFO] Multiline message:
Line1
Line2
规则:
- 首行显示彩色标签
- 后续行缩进对齐标签长度
- 末尾自动补全换行符
注意:颜色效果需在支持ANSI的终端中查看