|
|
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Прикручиваю log4j. При старте сервера в его логах вот такая ошибка: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Сам Log4j(вроде, ничего такого): Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Google'ил на эту тему: http://old.nabble.com/problem-with-log4j...Help-Please!!!-td22666088.html http://www.coderanch.com/t/429904/open-source/Log-appender-stdout-Error Смысл такой, что типа есть ещё другая версия библиотеки log4j. И они конфликтуют. Распаковал EAR пакет: Вот список библиотек: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Как бы нету больше log4j... Что не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 11:46:18 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
В либах самого сервера может быть log4j. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 11:50:46 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Может быть... Но если бы он там был, то, наверное, он бы как-то реагировал на наличие файлика log4j.properties, а реакции не было. Я так понимаю, что он в консоль сервера должен что-то валить, а он ничего не валил и не валит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 12:01:48 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Niky4000Но если бы он там был, то, наверное, он бы как-то реагировал на наличие файлика log4j.properties, а реакции не было. Я так понимаю, что он в консоль сервера должен что-то валить, а он ничего не валил и не валит. Вам ошибка четко даёт понять что либа загружена два раза. А вы какие-то свои выдумки пытаетесь притянуть к поведению сервера. То что вы считаете что сервер как-то должен делать ещё не значит что он именно так будет делать. Сервер, кстати, JBoss или Glassfish? Набор либ странноват. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 12:08:47 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
А хотя есть 1 jar'ник из обязательных с такими классами: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 12:09:43 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Glassfish ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 12:10:30 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Странноват, конечно, но они из разряда обязательных и без них не deploy'ится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 12:11:16 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
По поводу странности библиотек. В hibernate-release-4.1.5.SP1\lib\required вот такой список jar'ников: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Без них не разворачивается приложение. Меня, конечно, смутили названия jboss-*, но тем не менее без них на Glassfish даже не deploy'тся. В моём случае похоже что jboss-logging-3.1.0.GA.jar конфликтует с log4j-1.2.17.jar. Но что тогда писать в log4j.properties для jboss-logging-3.1.0.GA.jar, так как я не могу отказаться от его использования (просто не за'deploy'тся)? Кроме того если нет log4j.properties, и присутствует log4j-1.2.17.jar, то в log'ах сервера выводится строка: Код: sql 1. 2. 3. Вроде, как виден эффект от присутствия этой библиотеки. Если поменять первую строку log4j.properties на: log4j.appender.stdout=org.jboss.logging.BasicLogger (Я не уверен, что это правильно, но и нельзя писать org.apache.log4j, так как нет log4j-1.2.17.jar и нет такого пути) То никакого эффекта. Ничего в консоль не выводится. И не понятно изменилось ли что-то с присутствием файлика log4j.properties или нет, или он игнорируется вообще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 13:35:02 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Что будет если log4j-1.2.17.jar из ear убрать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:05:35 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Пробую... Такое ощущение, что log4j.properties просто игнорируется. Нависал туда вот это: log4j.appender.stdout=org.jboss.logging.BasicD - заведомую ерунду, чтоб исключение какое-то выдал. Проверил ear-пакет. Действительно там всё это есть (log4j.properties с ерундой), а в логах сервера тишина. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:18:55 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Получается что официальная сборка hibernate конфликтует с Apache Log4j? Или я что-то не так делаю? Хотя что не так-то? Запросы выполняются и всё работает, просто log4j прикрутить не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:20:55 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Niky4000Получается что официальная сборка hibernate конфликтует с Apache Log4j? В сборке нет log4j-1.2.17.jar, а у вас в ear. есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:24:26 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Ну, нету. И прикрутить его нельзя получается. А как тогда смотреть сгенерированные запросы в логах сервера? Везде в google пишут, что это делается с помощью log4j.jar. Получается противоречие какое-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:28:15 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Niky4000Ну, нету. И прикрутить его нельзя получается. Если спросить у гугла Glassfish + Log4j, то много чего найдётся. Почему вы решили сразу что "нельзя"? https://blogs.oracle.com/naman/entry/configure_log4j_for_use_in Niky4000А как тогда смотреть сгенерированные запросы в логах сервера? То что Glassfish не использует ваши настройки Log4j, ещё не значит что у него нет другого способа настроить свой логгер. http://docs.oracle.com/cd/E18930_01/html/821-2416/abluk.html Niky4000Везде в google пишут, что это делается с помощью log4j.jar. Получается противоречие какое-то. Это вы что-то не то читаете. Вам стоит посмотреть пристальнее в докуменитацию и исходники org.jboss.logging; Там по-умолчанию, действительно, используеться log4j, но стоит обратить внимание на настройки, которые позволяет указать другую реализацию. Через Slf4jLoggerProvider наверняка можно как-то выйти на логгер Glassfish. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:44:05 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
кстати запросы хибер пишет не в stdout, а в логгер с именем "SQL" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:44:43 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Буду читать тогда... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 14:51:30 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Niky4000 Код: sql 1. 2. 3. Используйте или "chcp 1251" или "dir/-c", ибо читать "неразрывный пробел в OEM-кодировке" уже утомило. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2012, 19:05:34 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Используйте или "chcp 1251" или "dir/-c", ибо читать "неразрывный пробел в OEM-кодировке" уже утомило. В нормальных операционках есть команда ls, а в windows фиг пойми что... Ну, ладно. Опробовал этот рецепт: https://blogs.oracle.com/naman/entry/configure_log4j_for_use_in 1. Copy log4j.jar inside the GlassFish_Home/lib. (Тестирую на виндовозе, поэтому так...) Скопировал в C:\Program Files\glassfish-3.1.2\glassfish\lib\log4j-1.2.17.jar 2. Put the Log4J configuration file inside GlassFish_Home/domains/domain1/config. Положил в C:\Program Files\glassfish-3.1.2\glassfish\domains\domain1\config\log4j.properties с таким содержанием: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 3. Fire up GlassFish and open the admin web UI inside a browser (for example http://localhost:4848). 4. Click on 'Server(Admin Server)' -> Click on 'server-config' Configuration -> JVM Settings -> JVM Options. 5. Now Add new property '-Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/config/log4j.properties', as you have copied log4j.properties under config folder in above Step 2. Добавил -Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/config/log4j.properties. (Я предполагаю, что ${com.sun.aas.instanceRoot} - это C:\Program Files\glassfish-3.1.2\glassfish\domains\domain1\) 6. Click on the Save button. 7. Restart the GlassFish. Сохранил настройку и перезапустил сервер. 8. Deploy sample app and check if the Log4J statements are now available. А вот тут интересно. Развернуть то же приложение и проверить, что выражение Log4J теперь доступно. Что-то я не совсем понял. Если я не добавлю эту библиотеку в проект, то ничего не будет - никаких Log4J statements. Добавил log4j-1.2.17.jar к проекту как библиотеку. В импорте написал: Код: sql 1. Объявил такое поле: Код: sql 1. И где-то в теле метода вызвал это: Код: sql 1. 2. Ну, и нигде ничего вообще нет: Ни в консоли, ни в логах сервера и C:\Program Files\glassfish-3.1.2\glassfish\domains\domain1\logs\log4j.log тоже никакого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 13:39:49 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Ну, и ещё пара слов о hibernate.cfg.xml. Хотелось бы хоть как-нибудь включить логирование sql запросов. По'google'ил... Его надо класть в корень проекта. У меня это: \src\java. Положил. Потом намеренно его подпортил, чтоб он не проходил валидацию. И... проект всё равно разворачивается без разговоров - вывод: hibernate.cfg.xml просто игнорируется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 13:52:33 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
GlassFish с Хибернейтом и Log4j называется JBoss. Последние версии JBoss очень удачные, чего не скажешь о GlassFish. Поэтому смысл вращивать в сервер невращиваемое? Особенно если у вас это вызывает такие затруднения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 13:55:37 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
авторGlassFish с Хибернейтом и Log4j называется JBoss. Последние версии JBoss очень удачные, чего не скажешь о GlassFish. Поэтому смысл вращивать в сервер невращиваемое? Особенно если у вас это вызывает такие затруднения. Мда. Ну, а я не знаю. Делаю по инструкции - не работает. А JBoss... это другой сервер. С ним надо разбираться. Целая история. Надо разбираться как к нему присобачить Enterprise-клиента по RMI. Какие библиотеки нужны. GlassFish с Хибернейтом и Log4j называется JBoss. GlassFish - Oracle, а JBoss - RedHat. Мне кажется, что они разные. Наверное, проще будет попытаться как-то это в самом Oracle перехватывать - писать в какой-нибудь log-файл запросы, которые на нём были выполнены, а потом читать их... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 14:20:22 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Ну, вот что нарыл: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. В результате у нас получается файлик: oraclexe\app\oracle\admin\XE\udump\xe_ora_6040_mytrace.trc И в нём можно найти то, что мы ищем - наш запрос: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Может этот Log4J и хорош, но что-то геморроя от него целая куча. Я пока не понял как это в моей ситуации сделать: GlassFish+NetBeans, поэтому, наверное попытаюсь приладить как-то к этому логирование самого Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2012, 14:39:36 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Niky4000Но если бы он там был, то, наверное, он бы как-то реагировал на наличие файлика log4j.properties"Предположение - мать всех провалов". Не обязан "он" реагировать. Не обязан. Он и не реагирует. P.S. dir/? - читали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2012, 16:19:54 |
|
||
|
log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to...
|
|||
|---|---|---|---|
|
#18+
Niky4000Мда. Ну, а я не знаю. Делаю по инструкции - не работает. Это старая болезнь JEE. Если контейнер использует какие-то фреймверки, то использование замены этих фреймверков приведет к серьезной и болезненой возне с самим сервером. Niky4000А JBoss... это другой сервер. С ним надо разбираться. Целая история. Надо разбираться как к нему присобачить Enterprise-клиента по RMI. Какие библиотеки нужны. EJB/RMI комуникация это стандарт, там разбираться особо не с чем. Niky4000GlassFish - Oracle, а JBoss - RedHat. Мне кажется, что они разные. Давайте на аналогиях попробую объяснить. Есть трактор - GlassFish. Задача сгонять на нем на рыбалку. Но так как он медленно едет, то хочется поставить туда движок (hibernate) и колеса (log4j) от жигулей. Вопрос. Почему бы не поехать на жигулях (JBoss)? Ваш ответ - там по другому скорости переключаются, влом разбираться. Niky4000Наверное, проще будет попытаться как-то это в самом Oracle перехватывать - писать в какой-нибудь log-файл запросы, которые на нём были выполнены, а потом читать их... Ну, не надо GlassFish обзывать Oracle-ом. Я вам в самом начале темы сообщил, что одно из решений проблемы логирования разобраться с jboss-logging, чтобы настроить его на GlassFish логгер, вместо Log4j. Ещё можно попробовать в дебаге поймать исключение "object is not assignable to" и посмотреть откуда загружены оба экземпляра log4j, чтобы удалить лишний. Может у вас при редеплоее где-то старая версия остаётся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2012, 16:41:45 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=37992048&tid=2130805]: |
0ms |
get settings: |
18ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
16ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 299ms |
| total: | 465ms |

| 0 / 0 |
