簡體   English   中英

Log4j未將日志寫入數據庫

[英]Log4j not writing logs to database

我需要將應用程序錯誤記錄到數據庫。 我在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>

您會在控制台上看到日志消息,因為您已將所有日志消息發送到控制台,但是只有在logging.simple.jdbcLogger層次結構下的記錄器才發送到jdbcAppender

您是否在控制台上看到logging.simple.jdbcLogger消息?

<appender-ref ref="jdbcAppender"/><root>...</root>部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM