|
|
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Добрый день! Пытаюсь настроить log4j, что бы он писал в БД, в результате лезут ошибки: Код: plaintext 1. 2. 3. 4. log4j.xml Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Кто сталкивался с подобными ошибками, подскажите, что не так сделал в log4j.xml. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2015, 15:47 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Не мы пишем, а вы пишете. Я не пишу лог в базу, поскольку это неудачная идея. Но посмотрев названия параметров, думаю, что должно быть не url, а URL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2015, 21:22 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Ошибка, при которой log4j не может найти логеров, обычно, означает, что log4j-xxx.jar или недоступен вообще или доступен в более, чем одной инкарнации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 15:52 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Если переделать log4j.xml чтобы писало в файл всё работает отлично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 16:57 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Basil A SidorovОшибка, при которой log4j не может найти логеров, обычно, означает, что log4j-xxx.jar или недоступен вообще или доступен в более, чем одной инкарнации. Невозможно, т.к. log4j-xxx.jar это и есть log4j и он нашёлся, раз видны сообщения от него. Если же log4j.jar есть в нескольких местах, то просто работает один из них. Сложнее разобраться, какие настройки работают, если есть несколько файлов log4j.properties и log4j.xml, но к данному случаю это не относится. Сущность ошибки видна из сообщения о ней: log4jog4j:WARN No such property in org.apache.log4j.jdbc.JDBCAppender то есть, в добавителе JDBCAppender нет свойства "url". Действительно, есть свойство "URL", что я и ответил. Другая возможная причина этой ошибки - если в одной из прежних версий org.apache.log4j.jdbc.JDBCAppender не было указанного свойства, а оно взято из более новой версии, в которой появилось. Не стал проверять это, поскольку как же соединяться с базой без URL или заменяющего свойства, которого нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 17:05 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Partisan MНевозможно, т.к. log4j-xxx.jar это и есть log4j и он нашёлся, раз видны сообщения от негоВозможно, т.к. конфигурирование может начаться "очень рано". Если к этому моменту не будет подходящего загрузчика или окажутся доступны более одного log4j-xxx.jar, то ругань будет означает: "была какая-то фигня, чтозанафик - не знаю, но работать не могу". P.S. Выругаться в System.err - много ума не надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 18:52 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Но, таки, в данном конкретном случае всё видится, но апендер не сконфигурировался из-за ошибки в параметрах и, в этом смысле, моё замечание не относится к ситуации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 18:55 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Решил повторно подключить log4j 2 к среде (JDeveloper). По порядку: 1. Скачал apache-log4j-2.2-bin. 2. Из архива достал log4j-api-2.2 и log4j-core-2.2 и положил в WEB-INF\lib 3. Подключил log4j-api-2.2 и log4j-core-2.2 к среде. 4. Подключил log4j-api-2.2 и log4j-core-2.2 к проекту. 5. Добавил в сервлет: Код: java 1. 2. В результате логгер не подключался: Код: java 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. Код: plaintext 1. 2. 3. 4. Что не так делаю или что-то не подключаю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 20:49 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Ошибка показана в сообщении: ваш log4j откомпилирован для версии Java-классов 50.0 (то есть, JDK 1.6), а у вас в проекте указано использование уровня совместимости с JDK 1.4 (версия классов 48). Поэтому классы log4j не могут быть загружены. Не знаю, можно ли откомпировать эту версию log4j для JDK 1.4, но вам как начинающему это будет сложно. Но нет никакой разумной причины применять JDK 1.4 или указывать в настройках проекта совместимость с ним. Нет смысла использовать JDK старее, чем 1.6, да и тот устарел. В общем, установите более поздний JDK и настройте проект в JDeveloper-е на его использование и на совместимость по языку с версией не ниже 1.6. Если вам нужен именно JDeveloper (чаще всего применяется Eclipse), то убедитесь, что он сам не слишком старый. Новую версию можно бесплатно списать с сайта Oracle. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2015, 21:40 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Log4j 2 requires Java 6 . На самом видном месте, но прочитать всё равно лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2015, 15:06 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Подгрузил нужный Log4j, изменил log4j.properties. # Set appender specific options log4j.rootLogger=INFO, A1, R log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d %p %C{1}.%M():%L %m%n log4j.logger.net.sf.jsptree=DEBUG #INFO log4j.Logger.JDBCAppender = INFO, R log4j.appender.R=org.apache.log4j.jdbc.JDBCAppender log4j.appender.R.URL=jdbc:oracle:thin:@localhost:1521:XE log4j.appender.R.user=SYSTEM log4j.appender.R.password=arm0dki log4j.appender.R.sql=INSERT INTO PASS_PROTOCOL (PRO_DATE,PRO_LOGGER,PRO_LEVEL,PRO_MESSAGE,PRO_USER_ID) VALUES ('%d{dd.MM.yyyy HH:mm:ss}','%C','%p','%M','(%L): (%t): %M%n') log4j.appender.R.layout=org.apache.log4j.PatternLayout Спасибо за подсказки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2015, 19:32 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Новая проблема. написал такие настройки лога: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Если использую такую конструкцию - %m%n. выходит ошибка: Код: plaintext 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. При этом данные в БД пишутся. Подскажите, где ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 21:01 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Ошибка описана русским языком: log4j15/04/07 00:37:15 log4j:ERROR Failed to excute sql 15/04/07 00:37:15 java.sql.SQLException: ORA-00917: missing comma В SQL-операторе (очевидно, INSERT, поскольку другого нет) не хватает запятой. Посмотреть в выводе того же в файл, какая там получается строка вывода и где в ней может не хватать запятой. А зачем %n при выводе в таблицу. Можно убрать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2015, 23:43 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Konstantin_dЕсли использую такую конструкцию - %m%nНе надо использовать такую конструкцию (%n) - у вас не текстовый файл, чтобы разделять строки "врукопашную". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 18:03 |
|
||
|
Пишем лог (log4j) в БД
|
|||
|---|---|---|---|
|
#18+
Определение ошибки понятно, не понятно где искать. Написал так: Код: java 1. Передаю так (в одном только месте) Код: java 1. ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.04.2015, 18:22 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38929707&tid=2125583]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
27ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 319ms |

| 0 / 0 |
