自定义AEM日志未显示在Cloud Manager中

当您的日志记录器配置为写入自定义日志文件、OSGi工厂配置名称不正确或日志级别限制太严格时,自定义日志语句不会出现在Cloud Manager中。 AEM as a Cloud Service不支持自定义日志文件,并且仅公开标准流(如aemerror),因此在其他位置发送的输出将被忽略。 更正日志程序文件路径、配置文件名和日志级别将恢复预期条目。 要解决此问题,请将记录器指向logs/error.log并应用有效的配置值。

描述 description

环境

  • Adobe Experience Manager as a Cloud Service
  • AEM Managed Services
  • AEM Assets Essentials

问题/症状

  • 自定义日志文件(如my-custom.logsaml.log)未出现在Cloud Manager中。
  • 尽管成功执行,日志语句仍不会显示在aemerror中。
  • 访问自定义日志文件时,日志尾命令失败。
  • INFO或DEBUG日志条目由于日志级别限制而不显示。

原因

AEM as a Cloud Service强制实施将所有Java日志输出写入到logs/error.log的集中式日志记录模型,因此它忽略定义自定义日志文件路径的任何配置。 错误的OSGi日志程序配置、无效的文件命名约定或严格的日志级别设置也会阻止日志语句出现在aemerror流中。

解决方法 resolution

按照以下步骤解决问题

  1. 查看代码存储库中的OSGi记录器配置,并识别org.apache.sling.commons.log.file指定自定义日志文件路径而不是logs/error.log的任何配置。
  2. 通过将org.apache.sling.commons.log.file设置为logs/error.log来更新记录器配置以使用支持的文件,并验证所有相关属性是否使用有效值。
  3. 验证配置文件名称是否遵循所需的格式org.apache.sling.commons.log.LogManager.factory.config-.cfg.json并移除无效字符,如波状符号( )。
  4. 检查日志级别配置并将其设置为有效的小写值,如debuginfowarn或错误,确保它不会限制预期输出。
  5. 检查所有记录器配置,并删除同一包的重复或冲突定义。
  6. 通过管道部署更新的配置,并验证日志条目是否显示在Cloud Manager的aemerror日志流中。

相关阅读

recommendation-more-help
experience-cloud-kcs-help-kbarticles