用途:在 Salesforce B2C Commerce 中实现服务端日志记录,基于 dw.system.Logger 与 dw.system.Log 类,用于添加调试或错误日志、按功能区域组织日志、写入独立日志文件。
主要能力:提供 debug、info、warn、error、fatal 五个日志级别,其中 warn、error、fatal 默认启用,debug 在生产环境禁用,info 默认禁用;支持自定义分类(如 checkout、payment、inventory、integration)以便过滤;支持自定义命名日志文件,通过 Logger.getLogger(category, fileNamePrefix) 写入 custom-<prefix>-*.log;支持 NDC 嵌套诊断上下文,用 push/pop/peek/remove 追踪同一请求内的关联日志;支持 Java MessageFormat 语法格式化消息,如 {0}、{1};提供 isDebugEnabled、isInfoEnabled 等检查方法,便于在昂贵操作前判断级别是否启用。
使用方式:引入 var Logger = require('dw/system/Logger'); 后可直接调用静态方法,或通过 Logger.getLogger('category') 获取实例。自定义文件前缀需 3-25 个字符,仅含字母、数字、-、_,且首尾为字母数字。分类与级别在 Business Manager 的 Administration > Operations > Custom Log Settings 中配置。日志格式为 [timestamp] [level] [category] message。
适用场景:订单、支付、库存、集成等模块的调试与错误追踪,以及需要独立日志文件的 ERP、OMS、CRM 等集成场景。
限制:每个 appserver 每天最多 200 个不同日志文件名;不应记录敏感数据;具体日志文件位置与保留策略资料未提供。