我正在研究创建一个新记录器以在内部保存日志语句直到发生错误的想法。
所以在我正在研究的系统中,它是一个序列过程(没有并行工作,具有设定的起点和终点)。我想让我的 info() 行缓冲在内存中,如果发生错误,最后将它们刷新,或者如果它成功则不要费心记录它们。
我不太担心内存使用,一次只有 15 行(跨多个类)。但由于它每秒可以处理 100 条项目(每个项目创建 15 行),因此日志记录可能会变得冗长,包含不需要的数据。
另一个选项是记录到一个可以跟踪的主文件。然后,如果发生错误,将最后一个缓冲区刷新到 ERROR 日志。
在我创建自己的之前,有谁知道 SLF4J-LogWriter 或 LOG4J-Appender 已经这样做了?
我可以看到http://sling.apache.org (org.apache.sling.scripting.core.impl.LogWriter) 已经做了类似的事情,但可能需要我破解代码。
谢谢杰夫波特