create table log4j(
    logID int primary key identity,
    message varchar(1024),
    priority varchar(10),
    milliseconds int,
    category varchar(256),
    thread varchar(100),
    NDC varchar(256),
    createDate datetime,
    location varchar(256),
    caller varchar(100),
    method varchar(100),
    filename varchar(100),
    line int
)
XML格式:
<appender name="JDBC" class="org.apache.log4j.jdbc.JDBCAppender">
    <param name="BufferSize"  value="40" />
    <param name="Driver"  value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
    <param name="URL"  value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=kkk" />
    <param name="User"  value="sa" />
    <param name="Password"  value="" />
    <layout class="org.apache.log4j.PatternLayout">
      <param name="ConversionPattern" value="INSERT INTO log4j (createDate,thread,priority,category,message) values(getdate(),'%t','%-5p','%c','%m')" />
    </layout>
  </appender>

解决方案 »

  1.   

    我的整个XML配置文件如下,.config文件删除了.
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"><log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">  <appender name="stdout" class="org.apache.log4j.ConsoleAppender"> 
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%-4r [%t] %-5p %F:%L %x - %m%n"/>
        </layout>
      </appender>  <appender name="R1" class="org.apache.log4j.RollingFileAppender">
        <param name="File"  value="${LOG_DIR}/system.log" />
        <param name="MaxFileSize"  value="100KB" />
        <param name="MaxBackupIndex"  value="2" /> 
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="%d{yyyy-MM-dd kk:mm:ss} [%t] %-5p %c - %m%n"/>
        </layout>
      </appender>  <appender name="JDBC" class="org.apache.log4j.jdbc.JDBCAppender">
        <param name="BufferSize"  value="40" />
        <param name="Driver"  value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
        <param name="URL"  value="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=kkk" />
        <param name="User"  value="sa" />
        <param name="Password"  value="" />
        <layout class="org.apache.log4j.PatternLayout">
          <param name="ConversionPattern" value="INSERT INTO log4j (createDate,thread,priority,category,message) values(getdate(),'%t','%-5p','%c','%m')" />
        </layout>
      </appender> <!-- <category name="org.apache.log4j.xml">
    <priority value="debug"/>
    <appender-ref ref="stdout"/>
      </category>//-->  <root>
        <priority value ="debug" />
        <appender-ref ref="R1" /> 
        <appender-ref ref="stdout"/>
        <appender-ref ref="JDBC"/>
      </root>
      
    </log4j:configuration>