Asynchronous 我可以在自实现的appender继承类上使用Log4cplus AsyncAppender吗?

Asynchronous 我可以在自实现的appender继承类上使用Log4cplus AsyncAppender吗?,asynchronous,syslog,log4cplus,Asynchronous,Syslog,Log4cplus,我在Log4cplus中实现了Appender继承类,它在Append()函数上打开一个TCP套接字并将事件日志消息发送到远程服务器,我想知道: 我可以通过将AsyncAppender包装在这个自实现的appender周围,使它成为一个异步appender吗 (如本文所述:) 我还想知道:Log4cplus SyslogAppender是否也可以通过同样的方式包装AsyncAppender而成为异步appender?是的,您可以将任何appender实例与AsyncAppender一起使用。此外

我在Log4cplus中实现了Appender继承类,它在Append()函数上打开一个TCP套接字并将事件日志消息发送到远程服务器,我想知道:

我可以通过将AsyncAppender包装在这个自实现的appender周围,使它成为一个异步appender吗 (如本文所述:)


我还想知道:Log4cplus SyslogAppender是否也可以通过同样的方式包装AsyncAppender而成为异步appender?

是的,您可以将任何appender实例与
AsyncAppender
一起使用。此外,如果您使用的是log4cplus 2.x,则可以通过将任何追加器上的
AsyncAppend
属性设置为
true
来使其异步。在这两种情况下,都有一个队列被调用基本上是call
append()

的线程占用,并且在使用AsyncAppender时,日志事件写入的顺序是否保持不变?是否有某种队列可以保持事件顺序?嗨,wilx,有没有办法设置/配置此队列大小?我看到默认队列的长度限制为100。我可以扩大队列吗?@N.avraham:您可以设置
QueueLimit
属性。嗨,威尔克斯,如果队列已满,会发生什么情况?事件丢失了吗?如果是-那么旧的还是新的会丢失?@N.avraham
AsyncAppender
如果信号量已满,则在信号量上执行队列块。