某系统日志架构是在项目中通过配置logback.xml配置双写
写本地日志文件
写到远程logstash
本地没有问题,有问题是logstash,在Kibana上看到有些日志没显示。
开始是怀疑是不是日志丢了,由于使用的是LogstashTcpSocketAppender
查了下官文文档:
Internally, the TCP appenders are asynchronous (using the LMAX Disruptor RingBuffer).All the encoding and TCP communication is delegated to a single writer thread.There is no need to wrap the TCP appenders with another asynchronous appender (such as AsyncAppender or LoggingEventAsyncDisruptorAppender).
The TCP appenders will never block the logging thread. If the RingBuffer is full (e.g. due to slow network, etc), then events will be dropped.