Spring中的异步记录器

Spring中的异步记录器,spring,Spring,我有这个问题,我只是把它扔出去。我正在为基于spring的RESTAPI服务器实现一个小的日志功能,用于记录所有传入的请求。 我预计1000多个用户会使用这个API,所以如果使用阻塞I/o记录器,它会减慢一切速度。我有两种方法来解决这个问题: 1.使用内存中的arrylist创建异步记录器。然后使用spring调度程序定期将其刷新到日志文件中。 2.使用JMS并将日志发送到队列。让队列异步处理日志记录 以前有人用spring做过这个吗。虽然我支持选项2,但有更好的方法吗?需要一些专家建议。谢谢大

我有这个问题,我只是把它扔出去。我正在为基于spring的RESTAPI服务器实现一个小的日志功能,用于记录所有传入的请求。 我预计1000多个用户会使用这个API,所以如果使用阻塞I/o记录器,它会减慢一切速度。我有两种方法来解决这个问题: 1.使用内存中的arrylist创建异步记录器。然后使用spring调度程序定期将其刷新到日志文件中。 2.使用JMS并将日志发送到队列。让队列异步处理日志记录

以前有人用spring做过这个吗。虽然我支持选项2,但有更好的方法吗?需要一些专家建议。谢谢大家


更多信息-我认为同步日志记录将是一个瓶颈,因为这个RESTAPI被前端RoR应用程序使用。因此,用户的一次会话肯定会导致频繁发生100次API调用。我正在记录实际请求以及帖子中发送的JSON

如果您真的想构建自己的记录器,我建议您看看,它比JMS更容易设置

您可以在本地使用它(使用本地机器的所有CPU核心),甚至可以与远程代理一起使用

以前有人用spring做过这个吗

不奇怪,是的-


文章提到,如果您不想丢失任何日志事件,JMS将是一条出路,否则坚持异步对于大容量日志记录是有意义的。

为什么不使用现成的解决方案?你想让木匠自己制作锤子、自己锻造钉子、自己缝制工具带,还是想让他专注于使用信誉良好的公司利用多年的现有研发成果建造的工具建造房屋?我怀疑同步伐木是否会成为一个瓶颈。通常,如果这会减慢速度,您应该减少日志记录的数量。这就是为什么会有调试、信息等级别。谢谢大家。刚刚更新了关于为什么我认为同步日志记录会成为瓶颈的问题。@jmort253,您是否愿意分享适用于此处的“开箱即用”解决方案?您可以看看ZeroMQ。它将比JMS更好。是的。看起来它也有弹簧支撑。谢谢。@nice_ekito你有关于这个主题的学习资源吗?没有,没有特别的日志记录,只有官方文件: