Log4j+sqserver+jtds配置问题!!!!在线等待!!!!

chaoren 2007-08-09 11:16:46
我想将log4j日志入库,数据是sqlserver2000+sp4;驱动用jtds,
log4j配置如下:
log4j.rootLogger=INFO,CONSOLE,DATABASE
#DEBUG,CONSOLE,FILE,ROLLING_FILE,MAIL,DATABASE,A1,im
log4j.addivity.org.apache=true
###################
# Console Appender
###################
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=DEBUG
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern==%-4r %-5p %d{yyyy-MM-dd HH:mm:ssS} %f %l %c %m%n

########################
# JDBC Appender
#######################
log4j.appender.DATABASE = org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.Threshold=INFO
log4j.appender.DATABASE.Driver = net.sourceforge.jtds.jdbc.Driver
log4j.appender.DATABASE.URL = jdbc:jtds:sqlserver://127.0.0.1:1433/WebGis
log4j.appender.DATABASE.User = sa
log4j.appender.DATABASE.Password = sa
log4j.appender.DATABASE.layout = org.apache.log4j.PatternLayout
log4j.appender.DATABASE.sql=INSERT INTO T_Log4J (CreateDate, Thread, Priority, Category, Message) values(%d{yyyy-MM-dd HH:mm:ssS}, '%t', '%-5p', '%c', '%m')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
tomcat启动过程中报错:
=0 INFO 2007-08-09 03:02:0877 %f org.apache.struts.util.PropertyMessageResources.<init>(PropertyMessageResources.java:127) org.apache.struts.util.PropertyMessageResources Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
log4j:ERROR Failed to excute sql
java.sql.SQLException: 用户 'sa' 登录失败。
at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365)
at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781)
at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2224)
at net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:599)
at net.sourceforge.jtds.jdbc.ConnectionJDBC2.<init>(ConnectionJDBC2.java:331)
at net.sourceforge.jtds.jdbc.ConnectionJDBC3.<init>(ConnectionJDBC3.java:50)
at net.sourceforge.jtds.jdbc.Driver.connect(Driver.java:178)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.apache.log4j.jdbc.JDBCAppender.getConnection(JDBCAppender.java:197)
at org.apache.log4j.jdbc.JDBCAppender.execute(JDBCAppender.java:160)
at org.apache.log4j.jdbc.JDBCAppender.flushBuffer(JDBCAppender.java:235)
at org.apache.log4j.jdbc.JDBCAppender.append(JDBCAppender.java:131)
at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
at org.apache.log4j.Category.callAppenders(Category.java:187)
at org.apache.log4j.Category.forcedLog(Category.java:372)
at org.apache.log4j.Category.log(Category.java:864)
at org.apache.commons.logging.impl.Log4JLogger.info(Log4JLogger.java:152)
at org.apache.struts.util.PropertyMessageResources.<init>(PropertyMessageResources.java:127)
at org.apache.struts.util.PropertyMessageResourcesFactory.createResources(PropertyMessageResourcesFactory.java:90)
at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:577)
at org.apache.struts.util.RequestUtils.<clinit>(RequestUtils.java:134)
at org.apache.struts.util.MessageResourcesFactory.createFactory(MessageResourcesFactory.java:192)
at org.apache.struts.util.MessageResources.getMessageResources(MessageResources.java:576)
at org.apache.struts.action.ActionServlet.initInternal(ActionServlet.java:1329)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:464)
at javax.servlet.GenericServlet.init(GenericServlet.java:211)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3951)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4225)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:904)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:867)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1122)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1021)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1013)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
at org.apache.catalina.core.StandardService.start(StandardService.java:450)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:709)
at org.apache.catalina.startup.Catalina.start(Catalina.java:551)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:294)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

不知道是什么原因,我的这个连接配置是在程序里面可用的,就是连接地址和驱动用户名和口令都是对的.为什么在程序里面能用,在log4j里面却连接不上,是log4j不支持jtds嘛???请大家指教,在线等待!!!!
...全文
407 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nec_7788 2008-06-23
  • 打赏
  • 举报
回复
nec_8899 2008-06-23
  • 打赏
  • 举报
回复
老紫竹 2008-06-21
  • 打赏
  • 举报
回复
java.sql.SQLException: 用户 'sa ' 登录失败。 很明显,密码错了!!
zidasine 2008-06-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 talentluo 的回复:]
这个“%m”用了,oracle抛出“缺少逗号”,有人能解答下吗?找了好些资料,貌似没找到答案!
[/Quote]
后面的高手解答吧,没遇到过这种情况
nec_5499 2008-06-21
  • 打赏
  • 举报
回复
npuhetao 2008-06-20
  • 打赏
  • 举报
回复
帮顶
[Quote=引用 2 楼 talentluo 的回复:]
这个“%m”用了,oracle抛出“缺少逗号”,有人能解答下吗?找了好些资料,貌似没找到答案!
[/Quote]
talentluo 2008-06-15
  • 打赏
  • 举报
回复
这个“%m”用了,oracle抛出“缺少逗号”,有人能解答下吗?找了好些资料,貌似没找到答案!
chaoren 2007-08-10
  • 打赏
  • 举报
回复
上面的问题已经解决,大概是log4j还不支持jtds,换成微软的驱动就可以了,但是,现在有一个新问题,因为sqlserver入库的每个字段的值是以"'"分割的,在日志内容(%m)里面也有"'",也就会造成"'"符号不匹配,入库报sql错误,不知道log4j能不能配置转义,将内容的"'"转义成其他字符,在入库??????

58,454

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧