PB9 通用日志工具(自定义路径+自动清理+防崩溃+超长报文兼容)

发布时间:2026/7/11 11:41:22
PB9 通用日志工具(自定义路径+自动清理+防崩溃+超长报文兼容) 一、前言PB9 在HIS、ERP、政务等传统行业存量系统中应用广泛,但原生未提供通用日志方案,项目普遍存在路径固定、日志堆积、超长报文写入崩溃、单行代码闪退、日志格式混乱等问题。同时高版本PB的目录遍历、递归删除API在PB9中均不兼容,网上绝大多数日志工具无法直接投产使用。本文分享一套纯PB9原生API、零第三方依赖、可直接投产的通用日志函数,一站式解决PB9各类日志适配痛点,适配所有老旧PB9业务系统。二、核心功能灵活路径配置:空值默认生成public_log目录,支持自定义日志根路径按日分档存储:自动创建 yyyymmdd 日期目录,日志结构清晰自动过期清理:默认保留30天日志,自动清理过期文件及空目录超长报文兼容:突破PB9单行32765字符写入限制,支持超长JSON报文防崩溃优化:变量统一头部声明、拆分超长表达式,彻底解决PB9解析闪退问题安全容错:自动还原程序工作目录,不影响系统正常运行三、PB9适配难点与方案1. 无高级目录API摒弃高版本目录遍历API,采用日期回溯生成目录名的轻量化方案精准清理日志。适配PB9仅支持空目录删除的限制,先清理过期日志文件,再删除空目录,全程无误删业务文件、目录的风险。2. 单行文本长度限制将完整日志内容转为Blob格式,分段循环写入,完美规避PB9单行32765字符长度限制,解决超长JSON报文截断、程序崩溃问题。3. 超长代码解析崩溃统一头部集中声明所有变量,拆分所有超长单行表达式与嵌套拼接逻辑,完全适配PB9编译器解析规则,彻底杜绝编译、运行闪退问题。四、函数参数说明Plain Text// 函数:gf_common_write_log// as_log_path 日志根路径,空值默认 public_log// as_inparm 业务交易入参// as_outparm 业务交易出参// ai_success 执行状态 1-成功 / -1-失败// as_errtext 错误信息输出// 返回值:1-成功 / -1-失败路径优先级规则:自定义日志路径 > 空值默认 public_log 目录五、完整源码(PB9直接可用)powerbuilder//====================================================================// 函数: gf_common_write_log()// 功能: