Посоветуйте толковую статейку по logging в Java
От: dimok@  
Дата: 02.05.07 12:17
Оценка:
Интересуют границы использования и взаимосвязь java.util.logging, commons-loggins, log4j. Желательно в контексте работы в J2EE.
Нужен протокол работы, сохраняемый в БД, для последующего анализа. Соответственно не обойтись без доп.полей.
Куда бы подключиться, чтобы получить максимальную независимость от библиотек и настроек сервера приложений? Плюс обойти без лишнего гемороя проблему записи в лог во время записи в лог?
Re: Посоветуйте толковую статейку по logging в Java
От: dimok@  
Дата: 10.05.07 11:27
Оценка:
Здравствуйте, dimok@, Вы писали:

D>Интересуют границы использования и взаимосвязь java.util.logging, commons-loggins, log4j. Желательно в контексте работы в J2EE.

D>Нужен протокол работы, сохраняемый в БД, для последующего анализа. Соответственно не обойтись без доп.полей.
D>Куда бы подключиться, чтобы получить максимальную независимость от библиотек и настроек сервера приложений? Плюс обойти без лишнего гемороя проблему записи в лог во время записи в лог?

После вдумчивого анализа требований и изучения возможностей библиотек, выяснилось:
— желательно протоколировать как можно больше информации
— фильтры нужны только при представлении лога анализирующему
— почти все используемые либы (фреймворки) используют commons-logging

Сделал так написал проксю над commons-logging.Log, реализовал LogFactory, возвращающую Log, обернутый проксей. Все вроде отлично. НО! Сломалось определение класса/метода, вызвавшего протоколирование, это всегда моя прокся. Причем разработчики commons-logging, зашили в код уровень вложенности стека =2 для Jdk17Logger и FQCN=Log4JLogger.class.getName() для Log4JLogger. Я плакаль. Придется хакать или копипастить оба.
Re[2]: Посоветуйте толковую статейку по logging в Java
От: aka50 Россия  
Дата: 10.05.07 13:03
Оценка: +1
Здравствуйте, dimok@, Вы писали:

D>Здравствуйте, dimok@, Вы писали:


D>Сделал так написал проксю над commons-logging.Log, реализовал LogFactory, возвращающую Log, обернутый проксей. Все вроде отлично. НО! Сломалось определение класса/метода, вызвавшего протоколирование, это всегда моя прокся. Причем разработчики commons-logging, зашили в код уровень вложенности стека =2 для Jdk17Logger и FQCN=Log4JLogger.class.getName() для Log4JLogger. Я плакаль. Придется хакать или копипастить оба.


А почему нельзя использовать Log LOGGER = LogFactory.getLog(this.getClass().getName())? Т.е. передавать имя класса явно?
Re[3]: Посоветуйте толковую статейку по logging в Java
От: dimok@  
Дата: 11.05.07 08:02
Оценка:
Здравствуйте, aka50, Вы писали:

..........

A>А почему нельзя использовать Log LOGGER = LogFactory.getLog(this.getClass().getName())? Т.е. передавать имя класса явно?


Нет! Речь идет не об имени лога, а о вычислении реального класса.метода, откуда сделана запись в лог. Для Jdk14Logger эти данные вычисляются в commons-logging, а для Log4JLogger передается "граничный" класс для вычисления, ниже которого собственно вызов.

Короче, откопипастил в свой пакет, благо реализация не большая. Теперь все тип-топ!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.