二、日志管理
二、日志管理
2.1 日志记录
📝 log(msg, level=None, color=None, web=True)
功能: 记录日志到控制台和Web平台
参数:
msg: 日志消息内容level: 日志级别,可选值: "TRACE", "DEBUG", "INFO", "WARN", "ERROR",默认为"INFO"color: 日志颜色,可选,默认为Noneweb: 是否发送到Web平台,默认为True
返回值: 无
示例:
# 无色日志,默认发送到web平台
trader.log("交易开始")
# 红色日志,发送到web平台
trader.log("价格异常", "WARN","red")
# 不发送到web平台
trader.log("调试信息", "DEBUG", web=False)
# 发送错误日志到平台
trader.log("错误", "ERROR")
# 多行日志使用\n分割
trader.log("多行日志\n第二行\n第三行")
📝 tlog(tag, msg, color=None, interval=0, level=None, query=False)
功能: 限频日志记录,每N秒最多打印一次指定标签的日志
参数:
tag: 日志标识msg: 日志内容color: 日志颜色,可选,默认为Noneinterval: 日志最小间隔(秒),默认为0level: 日志级别,可选,默认为"INFO"query: 是否只查询不更新时间,默认为False
返回值:
bool- True表示已发送日志,False表示未发送日志
示例:
# 每60秒最多记录一次市场状态
trader.tlog("市场状态", "市场流动性正常", interval=60)
# 使用特定颜色记录警告信息
trader.tlog("价差警告", "价差超过阈值", color="yellow", level="WARN")
# 不更新时间戳
should_log = trader.tlog("检测点", "价格波动", interval=30, query=True)
if should_log:
# 执行额外操作
pass
# 多行日志记录
trader.tlog("深度分析",
f"BTC-USDT 深度\n买: [(50000, 1.2), (49900, 2.5)]\n卖: [(50100, 1.5), (50200, 3.0)]\n不平衡: 0.8750",
interval=5,
level="DEBUG",
color="royalblue")
📝 logt(message, time, color=None, level=None)
功能: 使用指定时间戳记录日志
参数:
message: 日志内容time: 日志时间戳(Unix时间戳)color: 日志颜色,可选,默认为Nonelevel: 日志级别,可选,默认为"INFO"
返回值: 无
示例:
import time
# 记录1小时前的事件
past_time = int(time.time()) - 3600
trader.logt("历史事件记录", past_time)
# 使用特定颜色和级别记录日志
event_time = int(time.time())
trader.logt("重要事件", event_time, color="blue", level="INFO")
2.2 内置颜色表
日志相关函数(如log、tlog和logt)支持通过color参数设置文本颜色。系统支持多种颜色,按功能和使用场景分类如下:
交易状态颜色
| 颜色名称 | 十六进制代码 | 交易应用场景 |
|---|---|---|
| green | #32CD32 | 交易成功、盈利交易、多头信号、买入信号 |
| red | #FF4500 | 交易失败、亏损交易、空头信号、卖出信号 |
| blue | #0000FF | 交易执行、订单提交、中性交易状态 |
| yellow | #FFFF00 | 交易警告、风险提示、接近止损点 |
提示: 系统还支持直接使用十六进制颜色代码,格式为
#RRGGBB,例如#FF7F50(珊瑚红)。