拓冰建站拓冰建站
首页 / 资讯中心 / 正文

自动化脚本中打在线log和离线log

在自动化脚本的开发与调试过程中日志系统是开发者最重要的“眼睛”——它记录了脚本运行的每一个关键节点、异常信息和状态变化。冰狐自动化平台提供了一套完整的日志机制支持在线日志与离线日志两种模式分别适用于不同的调试和运维场景。一、在线日志实时调试的利器在线日志是指脚本运行过程中通过console.log等函数输出的日志信息实时上传至冰狐云端开发者可以在管理后台或控制台即时查看。其核心优势在于实时性——脚本每执行一步日志便同步呈现非常适合开发阶段的调试和问题定位。1.1 在线日志的级别控制冰狐提供了setLogLevel函数来控制在线日志的输出级别避免被大量无关信息淹没// 设置日志级别 setLogLevel(4); // 显示所有日志info及以上日志级别共分为四个等级级别值含义说明1error仅显示错误日志2warn显示错误和警告日志3debug显示错误、警告和调试日志4info显示所有日志含信息日志例如当设置为2时仅console.error和console.warn级别的日志会被输出console.log和console.debug将被过滤。通过getLogLevel可以获取当前生效的日志级别console.log(当前日志级别 getLogLevel());1.2 在线日志的适用场景在线日志最适合以下场景开发调试阶段实时观察脚本执行流程快速定位逻辑错误。临时验证在不确定某段代码行为时插入console.log即时查看变量状态。云端监控结合冰狐管理后台远程查看运行中脚本的实时输出。二、离线日志生产环境的可靠保障在线日志依赖于网络连接和云端服务当脚本运行在无网络环境、或需要记录长期运行轨迹时离线日志便成为不可或缺的补充。冰狐通过setOfflineLogFile函数实现了离线日志功能。2.1 离线日志的配置方法// 设置离线日志文件启用在线日志 setOfflineLogFile(script.log, true); // 设置离线日志文件关闭在线日志仅写本地文件 setOfflineLogFile(/sdcard/debug/auto.log, false);setOfflineLogFile接受三个参数参数类型必填说明filenamestring是离线文件名可带目录如/sdcard/logs/也可不带enableOnlineLogboolean否是否同时开启在线日志默认为truesaveDaysinteger否日志保留天数默认为0每次启动脚本重新创建停止时不自动删除2.2 离线日志的核心特性理解离线日志的以下特性有助于正确使用1立即写入不丢失关键信息设置离线日志后调用console.log等函数会立即写入本地文件。这一设计确保了即使脚本意外崩溃崩溃前的日志也能完整保留对于排查“不能必现的问题”至关重要。2在线与离线可并存enableOnlineLog参数允许开发者灵活决策设置为true默认日志同时写入本地文件和上传云端兼顾实时查看与持久存储。设置为false日志仅写入本地文件不上传云端适用于无网络或对隐私敏感的场景。3日志文件的生命周期saveDays参数控制日志的保留天数默认为0每次启动脚本都会重新创建日志文件旧日志被覆盖。设置为N日志保留 N 天便于追溯历史运行记录。2.3 离线日志的适用场景生产环境长期运行无需人工干预自动记录每日执行情况。网络不稳定环境避免因网络中断导致日志丢失。问题回溯脚本运行异常后通过本地日志文件进行事后分析。三、在线日志与离线日志的协同使用在实际项目中合理的策略是开发阶段以在线日志为主生产阶段以离线日志为主、在线日志为辅。以下是一个典型的配置示例// 脚本初始化阶段配置日志 function initLog() { // 1. 设置日志级别为 info显示所有日志 setLogLevel(4); // 2. 配置离线日志同时开启在线和离线 setOfflineLogFile(/sdcard/auto_script/logs/run.log, true, 7); console.log(日志系统初始化完成); } function main() { initLog(); // 业务逻辑... console.info(开始执行任务A); // ... console.warn(任务A执行耗时较长); // ... console.error(任务B执行失败错误码1001); }四、冰狐脚本调用方式对日志的影响冰狐提供了两种脚本调用方式——callScript和runTask它们对日志行为有一定影响调用方式执行线程适用场景日志特点callScript当前线程同步非UI代码中调用日志实时输出阻塞式runTask新线程异步UI代码中调用日志在新线程中独立输出// 同步调用在线脚本 callScript(test); // test 为冰狐在线脚本[reference:12] // 异步执行任务UI场景 runTask(test); // 另启线程执行[reference:13] // 调用本地脚本 callScript(/sdcard/test.js); // 绝对路径[reference:14] callScript(test.js); // 相对路径[reference:15] callScript(asset:test.js, 12, abc); // 打包资源[reference:16]无论采用哪种调用方式console.log的输出都会遵循setLogLevel和setOfflineLogFile的配置规则。五、最佳实践总结基于冰狐API的日志机制以下实践建议可供参考脚本入口统一配置日志在main函数开头调用setLogLevel和setOfflineLogFile确保日志行为一致。合理设置日志级别开发环境使用4显示所有日志生产环境可设置为2或3减少冗余信息。离线日志文件名包含时间戳避免每日日志相互覆盖便于按日期检索。关键节点务必记录任务开始/结束、异常捕获、重要状态变更等都应通过console.log记录。注意存储空间长期运行的脚本应设置合理的saveDays防止日志文件无限增长。日志体系以简洁的API实现了在线与离线双轨并行的能力开发者只需掌握setLogLevel和setOfflineLogFile两个核心函数便能构建起覆盖开发、测试、生产全流程的日志系统为自动化脚本的稳定运行保驾护航。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门