不幸的是,Apache Camel 日志组件和日志 EIP 中都没有“关键”或“致命”日志级别。
我们使用 NXlog 将 Camel(特别是)日志传输到 Graylog,并且有必要在那里设置“关键”级别。
是否有一些解决方法来实现它?
UPD
我尝试按照https://www.slf4j.org/faq.html#fatal的建议实现日志标记。
这是我的 Spring XML:
<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
<route id="process.message">
<from uri="file:/test?delete=true"/>
<log message="fatal marker test" loggingLevel="ERROR" marker="fatalmarker"/>
<to uri="file:/my"/>
</route>
</camelContext>
<bean id="fatalmarker" class="org.slf4j.MarkerFactory" factory-method="getMarker">
<constructor-arg type="java.lang.String" value="CRITICAL"/>
</bean>
骆驼已启动,但日志中没有标记:
2018-04-17 17:14:24,361 | ERROR | fatal marker test | get.message | Camel (camel) thread #0 - file:///test
我不确定我是否以正确的方式使用它?如何在日志中获取标记?
UPD UPD
直到现在才注意到:
结合不支持标记的日志框架(例如 log4j 和 java.util.logging),标记数据将被静默忽略
我们正在使用 ActiveMQ,正如我所见,它使用的正是 log4j,所以在这种情况下可以做些什么吗?