Log4j не записывает логи в базу данных - PullRequest
1 голос
/ 06 октября 2011

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

В чем может быть причина этого.Данные строки подключения к моей базе данных верны.

log4j.xml

  <appender name="jdbcAppender" class="org.apache.log4j.jdbc.JDBCAppender"> 
        <param name="URL" value="jdbc:oracle:thin:@host:1521:test" /> 
        <param name="Driver" value="oracle.jdbc.driver.OracleDriver" /> 
        <param name="User" value="scott" /> 
        <param name="Password" value="tiger" /> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern" 
              value="INSERT INTO my_table (log_date, log_level, location, message) VALUES ( '%d{ISO8601}','%p',
              '%C;%L', '%m' )" 
            /> 
        </layout> 
    </appender> 
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> 
        <layout class="org.apache.log4j.PatternLayout"> 
            <param name="ConversionPattern" 
              value="%d{ISO8601} %p (%C;%L) %m%n" 
            /> 
        </layout> 
    </appender> 
    <logger name="logging.simple.jdbcLogger" additivity="true">
        <level value="info"/> 
        <appender-ref ref="jdbcAppender"/> 
    </logger> 
    <root> 
        <level value="info"/> 
        <appender-ref ref="STDOUT"/> 
    </root> 
</log4j:configuration>

Ответы [ 2 ]

4 голосов
/ 06 октября 2011

Вы увидите сообщения журнала на консоли, потому что вы отправили все сообщения журнала на консоль, но только логгеры с иерархией logging.simple.jdbcLogger отправляются на jdbcAppender.

Вы видите logging.simple.jdbcLogger сообщений на консоли?

1 голос
/ 06 октября 2011

Добавьте <appender-ref ref="jdbcAppender"/> в раздел <root>...</root>.

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