log4j 把日志信息存入数据库问题

greatmind829 北京巴士在线控股有限公司 技术总监  2011-03-07 03:10:16
log4j.properties 配置



log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender
#log4j.appender.JDBC=com.aps.comm.initDatabase.Dom4JdbcAppe
log4j.appender.JDBC.driver=com.mysql.jdbc.Driver
log4j.appender.JDBC.URL=jdbc:mysql://localhost:3307/aps
log4j.appender.JDBC.user=root
log4j.appender.JDBC.password=root
log4j.appender.JDBC.sql=INSERT INTO errorlog (userId,message,messageDate) VALUES ('0','%m','%d{yyyy-MM-dd HH\:mm\:ss}')
log4j.appender.JDBC.layout=org.apache.log4j.PatternLayout


tomcat 一启动就报
log4j:ERROR Failed to excute sql
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'message' at row 1
这样的错误,经确认是'%m'的的错误,把'%m'随便改成什么东西就行了。
这是什么原因,请各位帮一下忙,谢谢了。
...全文
158 点赞 收藏 10
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Trac 2011-03-08
你的字段设置的太短了
回复
ilrxx 2011-03-07
为什么要存到数据库?
回复
G_beginner 2011-03-07
是不是可以设成text
回复
ginni215 2011-03-07
'%m'对应的内容就是错误日志的详细信息,这个信息的内容一般都非常的大,如果你设置的字段message比较小的话,就会插入异常了,设置大点就可以了~
回复
liuchao1989 2011-03-07
[Quote=引用 4 楼 luman2002 的回复:]
message 字段设100 太少了
所以当Log信息超过100时会报错

我觉得应该设置大点 1024 或2048
[/Quote]+1 确实,我们公司的系统经常出现Data truncation 异常,都是列的长度设置小了,维护了很多这样的bug。
回复
luman2002 2011-03-07
message 字段设100 太少了
所以当Log信息超过100时会报错

我觉得应该设置大点 1024 或2048
回复
magong 2011-03-07
varchar 100够长么?
回复
greatmind829 2011-03-07
类型 字段 长度
int userId 20
varhcar message 100
datetme messageDate
是不是log4j的包有问题。
回复
iambic 2011-03-07
错误信息太长,存不到数据库里。贴errorlog的定义看看。
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2011-03-07 03:10
社区公告
暂无公告