Мы используем следующую конфигурацию для нашего приложения. Spring boot + logstash LogstashTcpSocketAppender (описано здесь https://github.com/logstash/logstash-logback-encoder/blob/master/README.md#tcp-appenders)
Вкратце, это асинхронный аппендер на основе архитектуры Lmax с размером буфера по умолчанию ~ 8000 записей журнала, в случаеошибка при logstash, все файлы будут сохранены в этом буфере. Представьте, что у вас длинные сообщения с 1 МБ, тогда потребуется куча 8 ГБ, что бессмысленно. В настоящее время у меня есть варианты: 1) использовать синхронизирующий сокет appender, но затем ведение журналазамедлит работу приложения, и в случае ошибки приложение перестанет отвечать 2) ограничит размер буфера, но затем сообщения могут быть потеряны. Кажется, это довольно распространенный случай, поэтому, каковы стратегии для обработки таких случаев?Может быть, что-то вроде дампа в какой-нибудь файл и затем повторной обработки?