2012-04-19 38 views
1

我在我的应用程序中使用了asyncappender,下面有四个rollingfileappender。 我无法获得它使用的缓冲区的细节。 我需要澄清:缓冲区如何在log4J中使用Async Appender有帮助

  1. 缓冲区如何工作?
  2. 如何在其中的事件记录后刷新缓冲区?
  3. 我们可以使用配置文件(.xml文件)来做这个刷新吗,还是我们需要在我们的java类中进行编码?

回答

1
  1. 有一个队列记录事件放置。有一个调度程序线程,它从队列中取出事件并将其发布到底层的appender。

2,3.它会在线程的某个点自动刷新。

你不能手动控制刷新,我认为这是通过设计,因为它是实现细节。

我认为异步appender对文件appender没有任何意义,因为通常它们工作得足够快。我认为它的主要目的是环绕数据库或smtp appender,这可能会导致暂时的网络故障。

+0

谢谢你的回答。 – user1343183 2012-04-20 05:55:15

+0

非常感谢您提供这些信息。 – user1343183 2012-04-20 06:08:30

+0

我从你的回答中得到的理解是,当我们使用这个asynappender的时候,Buffer会被自动刷新,并且不会有像缓冲区溢出的问题。 – user1343183 2012-04-20 06:11:44