从SocketAppender文档
日志事件由本机TCP实现自动缓冲。这意味着,如果到服务器的链接速度较慢,但仍比客户端的(日志)事件产生速率快,则客户端将不受慢速网络连接的影响。但是,如果网络连接速度较慢,则事件产生的速度较慢,则客户端只能以网络速度进行。特别是,如果到服务器的网络链接断开,则客户端将被阻止。
另一方面,如果网络链接已打开,但服务器已关闭,则在发出日志请求时不会阻止客户端,但是由于服务器不可用,日志事件将丢失。
由于附加程序使用TCP协议,因此我想说日志事件是“某种同步”的。
基本上,附加程序使用TCP将第一个日志事件发送到服务器。但是,如果网络等待时间太长,以至在生成第二个事件时仍未发送消息,则第二个日志事件将必须等待(并因此阻塞),直到消耗掉第一个事件为止。因此,是的,如果应用程序生成日志事件的速度快于网络传递日志事件的速度,则会降低应用程序的速度。
如@Akhil和@Nikita所述,如果您不希望应用程序的性能受到网络延迟的影响,则JMSAppender或AsyncAppender将是更好的选择。



