Storm实现日志自定义输出
一、 配置work.xml
在storm安装目录下的log4j2目录下的work.xml文件进行自定义文件配置:
1. 在appenders标签下增加RollingFile
<RollingFilename="ALERT" fileName="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.alert.log" filePattern="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.alert.log.%i.gz">
<PatternLayout>
<pattern>${patternDetail}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicysize="500 MB"/> <!-- Or every 100 MB -->
</Policies>
<DefaultRolloverStrategymax="30"/>
</RollingFile>
<RollingFilename="PERFORM"
fileName="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.performance.log"
filePattern="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.performance.log.%i.gz">
<PatternLayout>
<pattern>${patternDetail}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="500MB"/> <!-- Or every 100 MB -->
</Policies>
<DefaultRolloverStrategymax="30"/>
</RollingFile>
<RollingFile name="ERROR"
fileName="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.error.log"
filePattern="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.error.log.%i.gz">
<PatternLayout>
<pattern>${patternDetail}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicysize="500 MB"/> <!-- Or every 100 MB -->
</Policies>
<DefaultRolloverStrategymax="30"/>
</RollingFile>
<RollingFile name="INFO"
fileName="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.log"
filePattern="${sys:workers.artifacts}/${sys:storm.id}/${sys:worker.port}/xxx.log.%i.gz">
<PatternLayout>