【问题标题】:Apache Storm: Custom loggingApache Storm:自定义日志记录
【发布时间】:2015-08-07 14:27:58
【问题描述】:

我想修改 Storms logback/cluster.xml 以便它可以根据 ID 写入不同的文件。

查看我需要更改 cluster.xml 并添加 Sifting Appender 的信息。参考HERE

主要问题 这是最好/正确的方法吗? 一个例子?

我需要补充:

 MDC.put("userid", "Alice");
 logger.debug("Alice says hello");

示例帮助

对于该示例,我似乎无法将其写入文件。我在类路径中使用默认的 logback.xml。我没有传入 arg 并加载配置,因为我假设它会在类路径中找到。但是没有文件被写入?

<configuration>

<appender name="SIFT" class="ch.qos.logback.classic.sift.SiftingAppender">
    <!-- in the absence of the class attribute, it is assumed that the desired 
        discriminator type is ch.qos.logback.classic.sift.MDCBasedDiscriminator -->
    <discriminator>
        <key>userid</key>
        <defaultValue>unknown</defaultValue>
    </discriminator>
    <sift>
        <appender name="FILE-${userid}" class="ch.qos.logback.core.FileAppender">
            <file>$/Users/Stuart/Desktop/main.log</file>
            <append>false</append>
            <layout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%d [%thread] %level %mdc %logger{35} - %msg%n</pattern>
            </layout>
        </appender>
    </sift>
</appender>

<root level="DEBUG">
    <appender-ref ref="SIFT" />
</root>
</configuration>

【问题讨论】:

    标签: java logging logback apache-storm


    【解决方案1】:

    Apache Storm 不使用默认进程来加载日志文件。根据您使用的版本,配置文件将包含 log4j log4j2 或非常简短的 logback 目录。

    您必须修改cluster.xmlworker.xml 或同时修改两者,才能使配置注册。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-02-28
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 2016-08-29
      • 2019-11-15
      • 2023-03-12
      • 1970-01-01
      相关资源
      最近更新 更多