Я хочу, чтобы весь мой журнал приложений был централизован (идеально в псевдореальное время). Мы будем использовать Log4 Appender. Который должен я использовать:
Какой Вы используете?
Зависит от ваших требований. Ведение журнала в очередь (как в JMS) дает вам наибольшую гибкость из всех возможных вариантов, поскольку ваша операция ведения журнала может вернуться, как только сообщение журнала будет записано в очередь. Затем вы можете поручить другому процессу забрать эти сообщения журнала из очереди и записать их в предпочитаемое вами хранилище журналов (база данных, файловая система, ...).
Недостатком (небольшим) является то, что ваши сообщения журнала будут немного отставать от системы, которая ведет журнал, но это почти всегда так, даже при файловом протоколировании.
Возможно, это перебор, но вы смотрели Splunk ? Для приложений Java я использовал Log4J или SLF4J для входа в файлы, затем Splunk может агрегировать журналы и сделать их доступными для поиска.
Я не знаком с Log4 (Log4j?), но есть ли у него приложение для базы данных? Это обеспечит необходимую централизацию и устранит необходимость в репликации журналов.
Это действительно очень сильно зависит от того, что вы хотите... Я не думаю, что syslog - хороший выбор для регистрации приложений, он больше подходит для регистрации инфраструктуры. Не зная слишком много деталей, все 4 варианта, которые вы перечислили, выглядят нормально. Мы используем это.