Wir haben unter Logger Konfiguration in worker.xml Sturm Cluster erstelltBenutzerdefinierte Log4j2 appender arbeitet nicht mit Sturm
<!-- This is new appender we want to add -->
<FDPRollingFile name="RollingFileInfo" filename="${sys:storm.log.dir}/userlogs/info-${sys:logfile.name}"
filepattern="${sys:storm.log.dir}/userlogs/info-${sys:logfile.name}.%d{yyyy-MM-dd-HH-mm}" append="true">
<PatternLayout>
<pattern>${patternFdpNew}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="100 MB"/> <!-- Or every 100 MB -->
</Policies>
</FDPRollingFile>
<FDPRollingFile name="RollingFileDebug" filename="${sys:storm.log.dir}/userlogs/debug-${sys:logfile.name}"
filepattern="${sys:storm.log.dir}/userlogs/debug-${sys:logfile.name}.%d{yyyy-MM-dd-HH-mm}" append="true">
<PatternLayout>
<pattern>${patternFdpNew}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="100 MB"/> <!-- Or every 100 MB -->
</Policies>
</FDPRollingFile>
<FDPRollingFile name="RollingFileError" filename="${sys:storm.log.dir}/userlogs/error-${sys:logfile.name}"
filepattern="${sys:storm.log.dir}/userlogs/error-${sys:logfile.name}.%d{yyyy-MM-dd-HH-mm}" append="true">
<PatternLayout>
<pattern>${patternFdpNew}</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="100 MB"/> <!-- Or every 100 MB -->
</Policies>
</FDPRollingFile>
<!-- This is new appender we want to add -->
und benutzerdefinierte Logger in folgenden Art und Weise definiert
<Logger name="custom-logger" additivity="false" level="INFO">
<appender-ref ref="RollingFileDebug" level="TRACE"/>
<appender-ref ref="RollingFileError" level="WARN"/>
<appender-ref ref="RollingFileInfo" level="INFO"/>
</Logger>
In Sturm Topologie-Generator Hauptklasse
config.put("topology.classpath","/usr/local/Cellar/storm/mylogger.jar");
und im Auslauf
private static org.slf4j.Logger _logger = LoggerFactory.getLogger("custom- logger");
Nun, was passiert, es erkennt mein Glas und schreiben Sie eine Zeile der Protokolldatei, aber Post, die keine Zeile in die Protokolldatei protokolliert.
Es gibt nur einen Auslauf in der Topologie für jetzt und konfiguriert mit 2 Executoren. –
Auch Standard-Logger, wenn wir keine benutzerdefinierte Logger verwenden, ist in der Lage, jede Logzeile wie üblich in Datei zu protokollieren –