Java Logging против Log4J

голоса
120

Это все еще стоит добавить библиотеку log4j в проект Java 5 раз войти скажем несколько исключений из файла с некоторыми хорошими настройками опрокидывания. Или стандартный util.logging объект сделать работу, а?

Как вы думаете?

Задан 28/08/2008 в 09:20
источник пользователем
На других языках...                            


7 ответов

голоса
105

Я бы сказал, что вы, вероятно, хорошо с util.logging для нужд вы описываете.

Для хорошего дерева решений, взглянуть на Log4j против java.util.logging

Вопрос один: Ожидаете ли вы потребность в каком-либо из умных обработчиков, которые Log4j имеет, что июлю не имеет, как, например, SMTPHandler NTEventLogHandler, или любые из очень удобного FileHandlers?

Вопрос второй: Видите ли вы себя желание часто переключать формат вашего выхода лесозаготовительного? Вам будет нужен легкий, гибкий способ сделать это? Другими словами, вам нужно PatternLayout LOG4J в?

Вопрос третий: Ожидаете ли вы определенную потребность в способности изменять сложные конфигурации протоколирования в приложениях, после того, как они собраны и развернуты в производственной среде? Есть ли в вашей конфигурации звук что-то вроде «Тяжелые сообщения из этого класса посылают по электронной почте к опорному парню, нужно регистрироваться предупреждающие сообщения из другого подмножества классов, серьезные сообщения из подмножества классов нужно регистрироваться в системный Deamon на нашем сервере в файл на сетевом диске A, а затем все сообщения от везде получить записываются в файл на сетевом диске B "? И вы видите себя тонкой настройки каждые несколько дней?

Если вы можете ответить утвердительно на любой из вышеперечисленных вопросов, идти с Log4j. Если вы отвечаете на определенное Нет для всех из них, июля будет более чем достаточно, и это удобно уже включено в SDK.

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

Ответил 28/08/2008 в 09:37
источник пользователем

голоса
39

Я рекомендую вам использовать Simple Logging Facade для Java (SLF4J). Он поддерживает различные провайдеров , которые включают в себя Log4J и могут быть использованы в качестве замены для Apache Commons Logging.

Ответил 28/08/2008 в 11:58
источник пользователем

голоса
17

Log4j была вокруг в течение долгого времени, и она работает очень хорошо. У меня нет никакого научного исследования, чтобы поддержать его, но, основываясь на том, что я видел в большом количестве клиентов, это легко среда журналирования, которую я вижу использовать больше чем любой другой. Она была вокруг в течение долгого времени, и не была заменена Next Big Logging Framework, который говорит что-то.

Он мертв прост в установке и легко освоить основные appenders (выходы). Есть целый хозяин appenders, которые доступны, в том числе:

  1. ConsoleAppender
  2. DailyRollingFileAppender
  3. ExternallyRolledFileAppender
  4. FileAppender
  5. JDBCAppender
  6. JMSAppender
  7. NTEventLogAppender
  8. RollingFileAppender
  9. SMTPAppender
  10. SocketAppender
  11. SyslogAppender
  12. TelnetAppender
  13. WriterAppender

Плюс другие. Это не трудно написать свой собственный Appender либо. Кроме того, существует большая гибкость в каждом из appenders, которые позволяют контролировать, что конкретно выводится в вашем журнале.

Одно замечание, я имел ряд проблем ClassLoader, когда я использовал Apache Commons Logging в дополнение к log4j. Это было только для одного конкретного применения, но я нашел, что это проще использовать log4j в одиночку, а не иметь гибкости, при использовании уровня абстракции как Commons Logging.

Смотрите эту статью для более подробной информации :

Удачи!

Ответил 31/08/2008 в 00:34
источник пользователем

голоса
14

java.util.logging предлагает полный пакет протоколирования без лишнего багажа некоторых других обеспечивают ..

Ответил 16/12/2008 в 11:55
источник пользователем

голоса
7

log4j гораздо лучше пакет в целом, и не имеет некоторые икоты, что java.util.logging содержит. Я бы второй, что с помощью log4j непосредственно проще, чем при использовании протоколирования Общин.

Ответил 09/09/2008 в 04:57
источник пользователем

голоса
4

Я рекомендую использовать Apache Commmons Logging в качестве интерфейса регистрации. Таким образом , у вас есть возможность переключаться реализаций протоколирования в любое время вы хотите , не требуя каких - либо изменений кода на вашем конце.

Ответил 28/08/2008 в 10:40
источник пользователем

голоса
3

Я бы с log4j. В possibilites с log4j не является устаревшим на всех!

Ответил 28/08/2008 в 09:43
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more