2011-07-22 229 views
0

有没有人知道apache log4j如何处理流?Log4j - 日志文件

如果它打开并关闭每一行的日志文件,或者它只是让流和冲洗它?

回答

1

它不会打开和关闭每行的日志文件(这会导致太多开销)。输出可以被缓冲(检查documentation)。你可以创建一个自定义的appender来打开文件来追加每一行,但是你想完成什么?

+0

其实没有我只想知道它对应用程序的要求如何。 – Smolda

+0

好的。我不会担心你的应用程序的log4j性能开销太大。在生产上,您只能记录错误。有时你应该考虑一下创建日志消息(连接和序列化对象)。但是只有在你测量了它之后才能优化这些东西,并发现它是一个瓶颈(过早优化是所有邪恶的根源;)) – ivy

+0

谢谢..非常有用:) – Smolda

2

有一件事情需要记住。如果log4j保持日志文件处于打开状态,则日志翻转失败,因为其文件句柄仍指向旧的日志文件。打开,写入和关闭意味着log4j会正确获取新日志文件的文件句柄。