Lumesh Log模块

wiki libs

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

规则

  1. 首行显示彩色标签
  2. 后续行缩进对齐标签长度
  3. 末尾自动补全换行符

注意:颜色效果需在支持ANSI的终端中查看