Преимущества использования syslog там, где это возможно (все современные * nix-системы, включая Linux, FreeBSD, OS-X и т. Д.), Многочисленны:
- Производительность лучше: syslog компилируется C и большинствоважно, что он работает как отдельный процесс, поэтому все ваши операции журналирования становятся неблокирующими для приложений, процессов и потоков, которые делают их
- . Вы можете одновременно регистрироваться в нескольких процессах / потоках, не беспокоясь о блокировке.Все журналы безопасно сериализуются для вас, чтобы вы не потеряли данные
- Вы получаете стандартные сортируемые метки времени на всех зарегистрированных линиях бесплатно
- Вы получаете ротацию журналов бесплатно
- Вы получаете бесплатную поддержку на уровне серьезности (см.
man syslog
) - Вы можете вызывать журналирование с любого языка с привязкой C, который является практически любым языком
- Вы можете тривиально регистрироваться из сценариев оболочкиили командная строка (через
logger
) - Вам не нужно заново изобретать (как регистрировать) колесо
Единственный недостаток, о котором я могу думать, это то, что syslog
не является переносимым (для не * nix систем), но если вы используете какой-либо современный * nix, любая альтернатива является более сложной и, вероятно, менее надежной.
Проблема потери пакетов, поскольку syslog
использует UDPможет быть действительным, но на практике в локальной сети я никогда не обнаруживал, что это является проблемой.