3.5 KiB
3.5 KiB
机器人日志模块
基于loguru和rich库实现的增强日志系统,提供美观、功能丰富的日志输出功能。
特点
- ✅ 彩色日志输出,清晰分层
- ✅ 支持emoji表情,增强关键信息视觉效果
- ✅ 自动日志分割和压缩存档
- ✅ 丰富的展示方式:表格、进度条、代码高亮等
- ✅ 简单易用的API
安装依赖
pip install loguru rich
基本用法
from utils.log_helper import info, warning, error, success, debug
# 基本日志输出
info("这是一条信息")
warning("这是一条警告")
error("这是一条错误")
success("这是一条成功信息")
debug("这是一条调试信息")
# 使用emoji增强关键信息
info("检测到横线", "检测") # 👁️ 检测到横线
warning("电池电量低", "警告") # ⚠️ 电池电量低
error("无法连接设备", "错误") # 🚫 无法连接设备
success("任务完成", "完成") # 🏁 任务完成
高级功能
分节标题
from utils.log_helper import section
# 输出醒目的分节标题
section("系统初始化", "启动") # ================== 🚀 系统初始化 🚀 ==================
计时日志
import time
from utils.log_helper import timing
# 记录操作耗时
start = time.time()
# ... 执行操作 ...
elapsed = time.time() - start
timing("数据处理", elapsed) # ⏱️ 数据处理耗时: 1.234秒
表格输出
from utils.log_helper import table
# 创建表格
columns = ["参数", "数值", "单位"]
rows = [
["速度", 1.5, "m/s"],
["角度", 90, "度"],
["距离", 0.5, "米"]
]
table("机器人状态", columns, rows)
进度条
from utils.log_helper import progress
import time
# 显示进度条
items = range(10)
for item in progress(items, "处理数据", unit="项"):
# 处理每个item
time.sleep(0.1)
代码语法高亮
from utils.log_helper import syntax
# 显示代码
code = """
def hello():
print("Hello, world!")
"""
syntax(code, "python", "示例代码")
JSON数据美化
from utils.log_helper import json_log
# 美化JSON数据
data = {
"name": "robot_1",
"position": {"x": 1.2, "y": 3.4},
"status": "running"
}
json_log(data, "机器人状态")
面板显示
from utils.log_helper import panel
# 显示带边框的面板
panel(
"系统启动完成\n等待用户命令...",
"系统状态",
"bold green"
)
自定义日志器
from utils.log_helper import LogHelper, get_logger
# 创建自定义名称的日志器
logger = get_logger("机器人控制")
# 或
logger = LogHelper("机器人控制")
# 使用自定义日志器
logger.info("初始化完成")
logger.warning("发现障碍物", "警告")
支持的emoji
类型 | emoji | 说明 |
---|---|---|
成功 | ✅ | 操作成功 |
失败 | ❌ | 操作失败 |
警告 | ⚠️ | 警告信息 |
错误 | 🚫 | 错误信息 |
信息 | ℹ️ | 普通信息 |
启动 | 🚀 | 系统启动 |
停止 | 🛑 | 系统停止 |
旋转 | 🔄 | 旋转操作 |
扫描 | 🔍 | 扫描操作 |
计算 | 🧮 | 计算过程 |
时间 | ⏱️ | 时间相关 |
距离 | 📏 | 距离测量 |
角度 | 📐 | 角度测量 |
调试 | 🐞 | 调试信息 |
关键 | 🔑 | 关键信息 |
位置 | 📍 | 位置标记 |
校准 | 🎯 | 校准操作 |
完成 | 🏁 | 完成标记 |
移动 | 🚶 | 移动操作 |
检测 | 👁️ | 检测操作 |