不幸的是,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>
Camel已经启动但日志中没有标记:
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,所以在这种情况下可以做什么?
答案 0 :(得分:1)
Apache Camel中的日志记录API使用slf4j。所以我们只支持/可以做这个API支持的内容。
slf4j项目有一个关于缺少FATAL日志记录级别的常见问题解答 https://www.slf4j.org/faq.html#fatal