回答
可以使用 files
模块将日志持久化保存到手机存储中,以下是完整的实现方案:
// 文档地址 https://docs.hamibot.com/
// 配置日志路径(自动存储在脚本同级目录)
const LOG_DIR = './logs/'; // 默认位于 /Hamibot/logs
const LOG_FILE = LOG_DIR + 'crash_log_' + new Date().toISOString().slice(0, 10) + '.txt';
// 确保日志目录存在
if (!files.exists(LOG_DIR)) {
files.ensureDir(LOG_DIR);
}
// 记录日志函数
function log(message, isError) {
try {
const timestamp = new Date().toLocaleString();
const logEntry = `[${timestamp}] ${isError ? 'ERROR' : 'INFO'} - ${message}\n`;
// 追加写入文件(自动创建文件)
files.append(LOG_FILE, logEntry);
// 控制台同步显示
console.log(logEntry.trim());
} catch (e) {
console.error('日志写入失败:', e);
}
}
// 捕获异常退出事件
events.on('exit', function() {
log('脚本异常退出', true);
});
// 示例:在脚本关键位置添加日志记录
try {
log('脚本启动');
auto.waitFor();
// 你的脚本代码...
} catch (e) {
log('发生异常: ' + e.message, true);
}
hamibot.exit();
使用方法:
- 将此代码添加到你的脚本开头
- 在可能出错的关键位置调用
log()
函数记录状态 - 日志文件会保存在
/Hamibot/logs/
目录下,按日期命名
注意:
- 此方案会记录脚本运行状态和异常信息
exit
事件捕获会在脚本退出时触发(包括闪退情况)- 日志会自动创建并按天分割存储
ℹ️ 本回答由 AI 生成,内容仅供参考