在传统的 SAP GUI 时代,我们习惯了使用 BAL_LOG_CREATE 或者 CL_BAL_LOG_MSG 这样的经典工具来记录 Application Log(应用日志)。
但在 ABAP Cloud 的全新编程模型下,SAP 为我们引入了一套更加现代化、更加符合 "Clean Core" 理念的工具库——
XCO Library (Extension Components)
在 ABAP Cloud 的世界里,SAP 极力推崇使用封装良好的公共 API (Public APIs) 来替代旧的私有对象。XCO Library 就是这样一组为了提高开发效率而生的工具集。它不仅提供了强类型的编程体验,还大量使用了 Fluent API 的设计模式,让代码读起来就像英语句子一样自然。
虽然 SAP 也提供了标准的 CL_BALI_LOG 类来处理 ABAP Cloud 中的日志,但 XCO Library 提供了一套更具 "XCO 风格" 的替代方案。如果你的项目已经大量使用了 XCO 的其他功能(比如 JSON 处理、Excel 生成等),那么使用 XCO Logging 能够保持代码风格的高度统一。
在开始敲代码之前,我们需要确保基础设施已经就绪。
如果你是在 SAP BTP ABAP Environment 或者 S/4HANA Cloud 上开发,你需要创建一个 Application Log Object(应用日志对象)。
创建对象:定义一个 Log Object(例如 ZBS_XCO_LOG)和一个对应的 Sub-object(例如 TEST)。
权限配置:这是一个容易被忽视的大坑。在 Cloud 系统中,权限管控极其严格。你需要确保你的用户或者后台用户拥有 S_APPL_LOG 权限对象的相关权限,否则在写入日志时会直接抛出权限错误。
消息类:准备一个 Message Class,里面随便放几条测试用的消息。
更多详细操作请左右滑动本图文来阅读。