异步日志记录
2022-09-03 13:54:59
现在在我的应用程序中,在某些时候,我们会将一些沉重的东西记录到日志文件中。
基本上,仅用于日志记录,我们创建可用数据的JSON,然后登录到日志文件。这是以 JSON 格式记录数据的业务需求。
现在,从可用数据创建 JSON,然后记录到 FILE 需要花费大量时间,并且会影响原始请求返回时间。现在的想法是改善位置。
我们已经讨论过的一件事是使用
Executors.newSingleThreadExecutor()
在我们的代码中,然后将任务提交给它,该任务将数据转换为JSON并随后进行日志记录。
这样做是一个好方法吗?当我们管理线程池本身时,它是否会产生一些问题?
如果有人能分享更好的解决方案,我将不胜感激。以某种方式使用Log4j来实现这一点。我试图使用AsyncAppender,但没有达到任何预期的结果。我们使用的是EJB 3,Jboss 5.0,Log4j,java6。