Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > log4j и hibernate


Автор: mitHANDler 2.2.2006, 08:49
Есть программа (jar), к classpath прописаны библиотеки в том числе и хибернет. Пробелема в том что, весь вывод hibernate идет в мой аппендер. По идее он должен смотреть свой log4j.properties и в зависимости от тамоошних настроек творить собственный лог. Но он упорно не хочет этот файл видеть: я его подсовывал и в папку с библиотеками, и в каталог запуска - бесполезно.
В исходниках хибера ссылок на log4j.properties не нашел.
Как заставить хибернет скидывать лог с свой собственный файл?

Автор: Шмель 2.2.2006, 10:22
допиши в "свой log4j.properties"
Код

log4j.appender.hibernate=org.apache.log4j.FileAppender
log4j.appender.hibernate.layout=org.apache.log4j.PatternLayout
log4j.appender.hibernate.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p %-30.30c{1} %x - %m%n
log4j.appender.hibernate.File=hibernate.log
# логгер для версии hibernate 3.x
log4j.logger.org.hibernate=warn, hibernate
# логгер для версии hibernate 2.x
log4j.logger.net.sf.hibernate=warn, hibernate

Автор: mitHANDler 2.2.2006, 14:02
Я "свой log4j.properties" не использую, храню все настройки в xml - и программно создаю-настраиваю.
Но смысл понял. Нужно создать в своем main'e логгер для своих классов ru.mypackage и логгер для хибернета org.hibernate.
Код

Logger logMypackage=Logger.getLogger("org.mypackage");
Logger logHiber=Logger.getLogger("org.hibernate");

и приписать им нужные аппендеры.
У меня было:
Код

Logger logMypackage=Logger.getRootLogger();

Естественно, все валилось в одну кучу. RTFM

Спасибо за наводку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)