log4j连接数据库不能插入数据

Elim-Zhang 2011-07-14 08:45:01
log4j.properties:
log4j.rootLogger=database
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.URL=jdbc:mysql://localhost:3306/logtest
log4j.appender.database.driver=com.mysql.jdbc.Driver
log4j.appender.database.user=root
log4j.appender.database.password=zhangyilin
log4j.appender.database.sql=insert into t_log(level,location,message,proTime) values('%p','%c{1}','%m','%d')
log4j.appender.database.layout=org.apache.log4j.PatternLayout


java程序:
import org.apache.log4j.Logger;

public class Log4jDbTest {

public static void main(String args[]) {
System.out.println("----------------------------");
Logger log = Logger.getLogger(Log4jDbTest.class);
log.info("hello");
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
}

}
...全文
234 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Damonzhang1989 2012-03-09
  • 打赏
  • 举报
回复
没有加载驱动!
Elim-Zhang 2011-07-21
  • 打赏
  • 举报
回复
有知情人在不?
Elim-Zhang 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 xianaofei 的回复:]
你数据库的操作呢 log4j只是记录操作语句 你必须手动实用hibernate或者SQL进行插入的啊
[/Quote]是这样啊,但是我没有看到log4j记录的操作语句,我该怎么获取所谓的log4j记录的操作语句呢
Elim-Zhang 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 zylzb 的回复:]
来个知情人吧
[/Quote]是这样啊,但是我没有看到log4j记录的操作语句,我怎么获取所谓的log4j记录的操作语句呢
xianaofei 2011-07-15
  • 打赏
  • 举报
回复
你数据库的操作呢 log4j只是记录操作语句 你必须手动实用hibernate或者SQL进行插入的啊
Elim-Zhang 2011-07-15
  • 打赏
  • 举报
回复
来个知情人吧
Elim-Zhang 2011-07-14
  • 打赏
  • 举报
回复
一模一样的也还是不行,真搞不懂是咋回事了
皮皮 2011-07-14
  • 打赏
  • 举报
回复
DB
=============
CREATE TABLE `t_log` (
`level` VARCHAR(100) COLLATE utf8_general_ci DEFAULT NULL,
`location` VARCHAR(500) COLLATE utf8_general_ci DEFAULT NULL,
`message` VARCHAR(500) COLLATE utf8_general_ci DEFAULT NULL,
`proTime` TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00'
)ENGINE=InnoDB
CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'
COMMENT='InnoDB free: 8192 kB';
=====================
log4j.properties:
===================
log4j.rootLogger=INFO,database
log4j.appender.database=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.database.URL=jdbc:mysql://localhost:3306/test
log4j.appender.database.driver=com.mysql.jdbc.Driver
log4j.appender.database.user=root
log4j.appender.database.password=123456
log4j.appender.database.sql=insert into t_log(level,location,message,proTime) values('%p','%c{1}','%m','%d{yyyy-MM-dd HH:mm:ss}')
log4j.appender.database.layout=org.apache.log4j.PatternLayout

====================================

public static void main(String args[]) {
System.out.println("----------------------------");
Logger log = Logger.getLogger(Log4jDbTest.class);
log.info("hello");
System.out.println("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^");
}
Elim-Zhang 2011-07-14
  • 打赏
  • 举报
回复
新建的项目还是不能输入到数据库,皮皮把你的成功的代码贴出来给我看一下
Elim-Zhang 2011-07-14
  • 打赏
  • 举报
回复
可能是电脑上有什么问题,前面在win7上运行就老是报错,然后这个是在xp上测试的,不报错,但是没有数据。我等会再建一个项目试试!
皮皮 2011-07-14
  • 打赏
  • 举报
回复
不应该啊。

你新建个java工程。按上面的放。没问题。我试了一下。
Elim-Zhang 2011-07-14
  • 打赏
  • 举报
回复
楼上说的我都符合啊,就是不行,不知道为什么!
皮皮 2011-07-14
  • 打赏
  • 举报
回复
你的设置没问题。

确定log4j.properties放在src根目录下。或者用户名和密码是正确的,还有看有没有mysql驱动

还有如果你数据库中proTime 是TIMESTAMP的话,你用'%d{yyyy-MM-dd HH:mm:ss}'
Elim-Zhang 2011-07-14
  • 打赏
  • 举报
回复
问题如题,不能插入数据到数据库
Elim-Zhang 2011-07-14
  • 打赏
  • 举报
回复
还没有解决 啊,打了N行也还是不行啊
zbg1983 2011-07-14
  • 打赏
  • 举报
回复
问题解决了吗?我也遇到了
勤奋的沉沦 2011-07-14
  • 打赏
  • 举报
回复
多打几行日志。
应该是输出缓存问题。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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