Asynchronous 我可以在自实现的appender继承类上使用Log4cplus AsyncAppender吗?
我在Log4cplus中实现了Appender继承类,它在Append()函数上打开一个TCP套接字并将事件日志消息发送到远程服务器,我想知道: 我可以通过将AsyncAppender包装在这个自实现的appender周围,使它成为一个异步appender吗 (如本文所述:)Asynchronous 我可以在自实现的appender继承类上使用Log4cplus AsyncAppender吗?,asynchronous,syslog,log4cplus,Asynchronous,Syslog,Log4cplus,我在Log4cplus中实现了Appender继承类,它在Append()函数上打开一个TCP套接字并将事件日志消息发送到远程服务器,我想知道: 我可以通过将AsyncAppender包装在这个自实现的appender周围,使它成为一个异步appender吗 (如本文所述:) 我还想知道:Log4cplus SyslogAppender是否也可以通过同样的方式包装AsyncAppender而成为异步appender?是的,您可以将任何appender实例与AsyncAppender一起使用。此外
我还想知道:Log4cplus SyslogAppender是否也可以通过同样的方式包装AsyncAppender而成为异步appender?是的,您可以将任何appender实例与
AsyncAppender
一起使用。此外,如果您使用的是log4cplus 2.x,则可以通过将任何追加器上的AsyncAppend
属性设置为true
来使其异步。在这两种情况下,都有一个队列被调用基本上是callappend()
的线程占用,并且在使用AsyncAppender时,日志事件写入的顺序是否保持不变?是否有某种队列可以保持事件顺序?嗨,wilx,有没有办法设置/配置此队列大小?我看到默认队列的长度限制为100。我可以扩大队列吗?@N.avraham:您可以设置QueueLimit
属性。嗨,威尔克斯,如果队列已满,会发生什么情况?事件丢失了吗?如果是-那么旧的还是新的会丢失?@N.avrahamAsyncAppender
如果信号量已满,则在信号量上执行队列块。