Назад | Перейти на главную страницу

Как syslog-ng обрабатывает flush_lines (0)?

Я хотел убедиться, что мой 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