Apache Storm:自定义日志记录
Apache Storm: Custom logging
我想修改 Storms logback/cluster.xml 以便它根据 ID 写入不同的文件。
查看信息,我需要更改 cluster.xml 并添加 Sifting Appender。参考 HERE
主要问题
这是 best/correct 方法吗?
一个例子?
我需要添加:
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>
Apache storm 不使用默认进程加载日志文件。根据您使用的版本,它将有 log4j
log4j2
或非常简短的 logback
配置文件目录。
您必须修改 cluster.xml
或 worker.xml
或同时修改两者才能注册配置。
我想修改 Storms logback/cluster.xml 以便它根据 ID 写入不同的文件。
查看信息,我需要更改 cluster.xml 并添加 Sifting Appender。参考 HERE
主要问题 这是 best/correct 方法吗? 一个例子?
我需要添加:
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>
Apache storm 不使用默认进程加载日志文件。根据您使用的版本,它将有 log4j
log4j2
或非常简短的 logback
配置文件目录。
您必须修改 cluster.xml
或 worker.xml
或同时修改两者才能注册配置。