Я хотел убедиться, что мой syslog-ng выполняет асинхронное ведение журнала.
Читая документацию, я вижу, что опция flush_lines () для мест назначения file (), если она не указана, будет использовать глобальное значение по умолчанию. Тогда я вижу, что глобальная настройка по умолчанию 0 но это не объясняет, что это значит.
Будет ли выполняться синхронное ведение журнала при значении 0? будет ли он буферизовать неограниченное количество строк (сбрасывая только каждую flush_timeout () количество секунд)? он собирается меня укусить?
Учитывая конфигурацию по умолчанию, при которой flush_lines установлено в 0, syslog-ng будет действовать для каждого полученного сообщения индивидуально.
Он не будет буферизовать какое-либо количество строк, а будет регистрировать их по одной (по крайней мере, с точки зрения буферизации строк; очевидно, что другие параметры конфигурации будут влиять на то, что на самом деле происходит с каждым сообщением).
Таким образом, если предположить, что я правильно интерпретирую «асинхронное ведение журнала» как «невыполненное» ведение журнала, тогда нет, я не думаю, что flush_lines (0) вас укусит.
Источник: обсуждение списка рассылки с создателем syslog-ng: http://comments.gmane.org/gmane.comp.syslog-ng/9205