我正在尝试使用Apache Camel
实现异步记录器。我想在调用第三方API时记录请求和响应有效负载。目前,我正在使用activemq
执行此操作,如下所示:
....
<!-- Prepare request -->
<to uri="activemq:loggingQueue??disableReplyTo=true&preserveMessageQos=true"/>
<recipientList>
<simple>http4:api.example.com</simple>
</recipientList>
.......
<route>
<from uri="activemq:loggingQueue"/>
<!-- log payload -->
</route>
log4j2
异步日志记录和骆驼。答案 0 :(得分:2)
您可以使用EventNotifier
挂钩Camel,该消息在将消息发送到端点之前/之后具有事件。然后,您可以使用它来写入日志:http://camel.apache.org/eventnotifier-to-log-details-about-all-sent-exchanges.html
此外,log4j和其他日志记录api通常有各种适配器,可以快速,异步/批量方式将日志写入文件/网络。
答案 1 :(得分:1)
实际上,camel使用sl4fj,因此您可以调整logback以执行异步日志记录以满足您的要求。以下是一些想法:http://blog.takipi.com/how-to-instantly-improve-your-java-logging-with-7-logback-tweaks/