有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

让log4j写入sql server的java问题

让log4j写入sql server时出现问题。我有一个java应用程序和sql server数据库。我可以写入文件,但我更愿意选择写入数据库。我的appender配置如下。当我试着打电话给log4j时。信息(“测试”);我收到以下错误:“log4j:执行sql com.microsoft.sqlserver.jdbc.SQLServerException时出错:找不到存储过程“正在启动”。”。有什么提示吗

<appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender">
        <param name="URL" value="jdbc:sqlserver://notarealserver;databaseName=notarealdatabase"/>
        <param name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <param name="user" value="notarealuser"/>
        <param name="password" value="notarealpassword"/>
        <param name="sql" value="insert into [dbo].[Log] values('%x', '%d','%C','%p','%m')"/>           <layout class="org.apache.log4j.PatternLayout"></layout>
    </appender>

共 (2) 个答案

  1. # 1 楼答案

    试试这个

    param name="sql" value="insert into [dbo].[Log] values('''%x''', 'getdate()','''%C''','''%p''','''%m''')

  2. # 2 楼答案

    这就是最终起作用的变化:

    <appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender">
        <param name="URL" value="jdbc:sqlserver://notarealserver;databaseName=notarealdatabase"/>
        <param name="driver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
        <param name="user" value="notarealuser"/>
        <param name="password" value="notarealpassword"/>
        <param name="sql" value="insert into [dbo].[Log] values('%x', '%d','%C','%p','%m')"/>           
    <layout class="org.apache.log4j.PatternLayout"></layout>
    </appender>