Не могу напечатать на консоль с log4j - PullRequest
1 голос
/ 17 февраля 2012

Моя проблема в том, что я хочу знать, сколько соединений открыто к oracledb в пуле источника данных oracle (oracle.jdbc.pool.OracleDataSource), и я хочу вывести эту информацию на консоль, используя log4j.Я определил свой пул в весеннем конфигурационном файле:

<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource" >
    <property name="dataSourceName" value="ds" />   
    <property name="URL" value="jdbc:oracle:thin:@something" />
    <property name="user" value="user" />
    <property name="password" value="password" />
</bean>

Я бы как-то передавал информацию журнала в моих банках ojdbc6 или ojdbc14 на консоль с log4j, как я сказал, но мой log4j ничего не печатает.В моем log4j.properties у меня есть:

log4j.logger.oracle.jdbc.pool=ALL, jdbc
log4j.appender.jdbc=org.apache.log4j.ConsoleAppender
log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout
log4j.appender.jdbc.layout.ConversionPattern=JDBC    | %5p | %d{HH:mm:ss,SSS} > %m - [%l]%n 

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

Спасибо за внимание.

Ответы [ 3 ]

0 голосов
/ 17 февраля 2012

Отметьте эту страницу , чтобы инициализировать конфигуратор.Если вы не инициализируете его правильно, log4j не будет регистрировать сообщения.Наиболее важно попытаться использовать log.debug, log.warn в бизнес-логике, которая использует объекты оракула.Log4j - это просто библиотека журналов, которую вы можете использовать через Java.Не уверен, если oracle выдает его через него.

Существуют и другие инструменты трассировки и ведения журнала, если вы считаете, что он не работает нормально.Моим первым указателем было бы попробовать простое приложение в вашем приложении, чтобы увидеть, получает ли ваша консоль сообщения log4j при запуске их после использования конфигуратора, о котором я упоминал ранее.

0 голосов
/ 20 февраля 2012

Я нашел ответ, только некоторые пакеты ojdbc могут печатать журналы.У меня есть фляги ojdbc6 и ojdbc14, и у них нет этой способности.

Из этой ссылки .

Когда включена полная регистрация, почти гарантируется, что вся конфиденциальная информациябудут выставлены в лог файлах.Это присуще функции регистрации.Однако только некоторые JAR-файлы JDBC включают функцию ведения журнала JDBC.Следующие файлы JAR включают полное ведение журнала и не должны использоваться в чувствительной среде:

ojdbc5_g.jar

ojdbc5dms_g.jar

ojdbc6_g.jar

ojdbc6dms_g.jar

Следующие файлы JAR включают ограниченную возможность ведения журнала:

ojdbc5dms.jar

ojdbc6dms.jar

Я закончил:P

0 голосов
/ 17 февраля 2012

нет гарантии, что oracle использует log4j, вы должны попытаться настроить параметры ведения журнала утилиты java.Эта ссылка , по-видимому, предполагает, что oracle использует java util logging.В качестве альтернативы вы можете создать прокси-класс или расширить этот класс и написать свои собственные сообщения log4j до / после делегирования обратно в пул соединений оракула.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...