Подтвердить что ты не робот

Каковы последние возможности в инфраструктурах регистрации Java?

Этот вопрос задается периодически, но я давно считаю, что существующие фреймворки регистрации Java были сложнее и перепроектированы, и я хочу посмотреть, что нового.

У меня есть более важная проблема в моем текущем проекте, поскольку мы стандартизировали JSON как нашу кодируемую человеком кодировку данных, а большинство фреймворков регистрации, которые я видел, требуют XML. Я бы предпочел не использовать JSON для 95% конфигурации моих приложений, а для остальных - просто из-за структуры ведения журнала (правда, я ненавижу XML, используемый для чего-либо, кроме текстовой разметки, с его первоначальной целью).

Есть ли какие-либо горячие новые фреймворки Java, которые активно поддерживаются, достаточно мощные, имеют репозиторий maven, могут быть переконфигурированы без перезапуска вашего приложения и не привязывают вас к XML?

4b9b3361

Ответ 1

У вас есть 3 варианта:

  • Log4J
  • java.util.logging(JUL)
  • Logback (преемник Log4J)

Теперь давайте посмотрим, как они соответствуют вашим требованиям:

  • активно поддерживается
  • достаточно мощный
  • имеют maven repo
  • можно перенастроить без перезагрузки приложения.
  • не привязывайте вас к XML

log4j:

  • Нет, не активно поддерживается
  • Да -
  • Да -
  • Да -
  • Да (используя файл свойств Java, см. Конфигурация).

java.util.logging (JUL):

  • Я бы сказал: Да -
  • по вашему усмотрению -
  • N/A -
  • Да (через JMX или LogManager#readConfiguration() -
  • Да (с использованием файлов свойств)

Журнал:

Похоже, вам придется пойти на некоторые уступки (или найти фреймворк, о котором я не знаю). Я бы пошел на Logback, вот что происходит сейчас.

Ответ 2

SLF4J является самым последним и самым большим, насколько мне известно.

Разумеется, XML, необходимый для настройки log4j, нельзя считать репрессивным. Возможно, вы вообще возражаете против конфигурации XML, но даже это меняется. Spring дает возможность использовать XML или аннотации, как и большинство других фреймворков. Я думаю, что против XML ничего, кроме разметки, не стоит слишком далеко. Должны ли Ant и NANT закрыться, потому что они выбрали XML? Думаю, что нет.

Ответ 3

не был logback последним?

Ответ 4

В то время как общий метод конфигурации log4j - это xml, вы также можете его программно настроить, что означает, что вы можете использовать любую конфигурационную систему (а также перенастроить его во время выполнения).

Ответ 5

Возможно, вы захотите заглянуть в наш инструмент ведения журналов Java SmartInspect (он коммерческий). SmartInspect активно поддерживается, может быть настроен с двумя строками кода и поддерживает файлы конфигурации, которые просто содержат пары имя = значение (без XML :)). SmartInspect также может автоматически перезагружать файлы конфигурации на лету при их изменении - полезная функция для оперативных изменений конфигурации и производственных систем. SmartInspect также поставляется с графическим инструментом анализа и мониторинга журналов, который может оказаться полезным:

alt text
(источник: gurock.com)