我有这个问题,我只是把它扔在那里.我正在为基于spring的REST API服务器实现小型日志记录功能,以记录所有传入的请求.
我希望有成千上万的用户使用此API,因此,如果使用受阻的I / O记录器,它将减慢一切.我有两种解决问题的方法:
1.使用内存中的清单来创建异步记录器.然后使用spring调度程序定期将其刷新到日志文件中.
2.使用JMS并将日志发送到队列.让队列异步处理日志记录.
有没有人在春季之前做到这一点.虽然我支持选项2,但是有更好的方法吗?需要一些专家意见.感谢大家 !
更多信息-我认为同步日志记录将成为瓶颈,因为该REST API被前端RoR应用程序占用.因此,用户的一个会话肯定会导致非常频繁地发生数百次API调用.我正在记录实际的请求以及POST中发送的JSON.
最佳答案
Has anyone done this before with spring.
并不奇怪,是-Asynchronous Logging Using Spring
本文提到,如果您不希望丢失任何日志事件,那么JMS将是您的理想之选-否则,对于大量日志记录,坚持使用Async是有意义的.