SAP Gateway 项目真正进入联调和生产运行以后,开发工作的关注点很快会从 OData 服务能不能返回数据,转向另一件更现实的事情,出了问题以后,到底能不能快速知道问题发生在哪里。一个 SAPUI5 或 Fiori 应用调用/sap/opu/odata/sap/ZSALES_ORDER_SRV,浏览器只看到 HTTP 500。前端拿到的响应也许只有一段经过 Gateway 处理后的错误文本,但服务背后可能经过 SAP Gateway runtime、system alias、RFC、DPC Extension、业务校验、BAPI、数据库访问等很多层。只依赖断点调试,在开发系统里尚且勉强可行,到了质量系统或者生产系统就很难成为长期方案。SAP Gateway 因此提供了一套自己的 logging 和 tracing 体系。SAP 官方资料把/IWFND/ERROR_LOG、/IWBEP/ERROR_LOG、/IWFND/APPS_LOG、/IWFND/TRACES、/IWBEP/TRACES等工具放在同一个 supportability 体系中。/IWFND/ERROR_LOG更关注 Gateway 前端运行时对 OData 请求的处理,/IWBEP/ERROR_LOG则偏向后端服务实现阶段发生的问题。即使采用 embedded deployment,两类 Error Log 仍然承担不同的诊断职责。在这套机制里,一个很实用但经常被忽略的入口就是LOG_MESSAGE。