【问题标题】:AEM 6.3 Customize log message using appender and slf4jAEM 6.3 使用 appender 和 slf4j 自定义日志消息
【发布时间】:2018-09-07 21:02:29
【问题描述】:

在我们的 AEM 6.3 项目中,我们需要在日志消息中添加附加属性。基本上,我们要自定义消息格式。所以我们在 src/main/resources/logback.xml 下创建了一个 logback 文件。日志文件内容如下

<configuration>

<appender name="SampleProject.log" 
class="ch.qos.logback.core.FileAppender">
    <file>SampleProject.log</file>
     <append>true</append>
    <encoder>
        <pattern>%d %-5level %X{sling.userId:-NA} [%thread] %logger{30} 
    %marker- %msg %n</pattern>
        <immediateFlush>true</immediateFlush>
    </encoder>
  </appender>

 <logger name="org.wc.project" level="INFO"/>

 </configuration>

在 Apache Sling Logging Configuration 下,我们创建了一个日志配置,如下所示,“同名”作为 appender 名称。

org.apache.sling.commons.log.file="SampleProject.log"
org.apache.sling.commons.log.level="info"
org.apache.sling.commons.log.logger.paatern ="org.wc.project"
org.apache.sling.commons.log.pattern="{0,date,dd.MM.yyyy HH:mm:ss.SSS} 
*{4}* [{2}] {3} {5}"

但自定义消息格式现在显示在 SampleProject.log 中。任何人都可以提供任何相同的指针。

【问题讨论】:

  • 关于上述问题的任何线索?

标签: logging aem


【解决方案1】:

意识到这是一个相当老的线程,但我过去通过为 sling 编写 MDC 过滤器并使用 MDC 日志记录模式更新过滤器来完成类似的事情。

我在这里写了一篇关于如何完成这个的分步文章:

https://blogs.perficientdigital.com/2018/09/24/customized-logging-using-slf4j-mdc-in-aem/

编辑:复制/粘贴上面网址中的基本步骤,以防无法再访问:

要利用 MDC,主要有两个步骤: - 填充 MDC 对象(地图) - 引用 MDC 属性(记录模式)

在 AEM 中,每个请求都流经一个过滤器链,这意味着我们需要尽早在过滤器中填充 MDC 变量,以便以后可以成功记录这些变量。最简单的方法是将自定义过滤器的范围设置为请求级别,顺序 0:

/**
 - The SlingFilterScope.REQUEST is important as MDC needs to be configured prior
 - to any logger being executed in the page rendering.
 */
@SlingFilter(
        label = "Sample MDC Filter",
        description = "Sample implementation of custom MDC properties.",
        order = 0,
        scope = SlingFilterScope.REQUEST)

然后你需要将 org.slf4j.MDC 导入你的类并填充它。

MDC.put(varName,varValue);

填充变量后,您可以通过标准日志过滤器访问它:

%X{varName:-DefaultValueIfNull}

其余的逻辑由您决定!请求对象使您可以直接访问以下内容:

  • ResourceResolver(访问 JCR)
  • 请求标头
  • 您可以使用 RequestWrapper 进行自定义
  • 请求 Cookie
  • 请求参数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-10
    • 2019-10-10
    • 1970-01-01
    相关资源
    最近更新 更多