高分:log4j写sqlserver数据库问题.
环境 winxp jsdk1.4 log4j1.28 数据库为:sqlserver2000 驱动为Microsoft SQL Server 2005 JDBC Driver
这是我的属性文件
log4j.rootLogger=info,cc,A2
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %4p [%t] (%F:%L) - %m%n
log4j.appender.A2 = org.apache.log4j.FileAppender
log4j.appender.A2.File = logs/test.log
log4j.appender.A2.layout = org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern =%-4r [%d{yyyy-MM-dd HH:mm:ss}] %-5p %c %x - %m %n
#输出到数据库mssql
log4j.appender.cc=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.cc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
log4j.appender.cc.URL=jdbc:sqlserver://localhost:1433;DatabaseName=blog
log4j.appender.cc.user=test
log4j.appender.cc.password=test
log4j.appender.cc.layout=org.apache.log4j.PatternLayout
log4j.appender.cc.layout.ConversionPattern=%d{ISO8601} - %p -%C - %m%n
log4j.appender.cc.sql=INSERT INTO mylogs(message) VALUES ( '%m ')
log4j.appender.cc.layout=org.apache.log4j.PatternLayout
代码:
import org.apache.log4j.*;
public class A
{
static Logger logger = Logger.getLogger(A.class.getName());
public A(){}
public static void main(String[] args)
{
PropertyConfigurator.configure( "b.properties ");
logger.debug( "TestLog4j ");
logger.info( "INFO ");
logger.warn( "WARN ");
logger.error( "ERROR ");
logger.fatal( "FATAL ");
logger.debug( "End ");
}
}
写入文件都没问题,就是写数据出问题,无法写入.报错信息如下:
ERROR org.apache.log4j.helpers.OnlyOnceErrorHandler null - Failed to excute sql
com.microsoft.sqlserver.jdbc.SQLServerException: 第 1 行: '2007 ' 附近有语法错误。
很郁闷啊.哪位高人看看.谢谢~
------解决方案--------------------应该是时间格式的问题吧?
------解决方案--------------------和数据格式有关.多看看格式问题