社区
Java EE
帖子详情
征求讨论:Log4j输出到数据库的连接池问题
bluefishangel
2004-08-09 04:20:33
我在做一个系统日志输出的模块。主要用于跟踪系统用户的操作状况并输出到Oracle数据库。也就是说用户的每一个事件都在执行后会通过Log4j写到数据库里面去。因此如果每次都连接一次数据库的话肯定不行,速度必定很慢。我在考虑用数据库连接池。没有找到Log4j关于连接池的用法。各位大侠有何高见?请大家智者见智,一起讨论吧!
...全文
171
12
打赏
收藏
征求讨论:Log4j输出到数据库的连接池问题
我在做一个系统日志输出的模块。主要用于跟踪系统用户的操作状况并输出到Oracle数据库。也就是说用户的每一个事件都在执行后会通过Log4j写到数据库里面去。因此如果每次都连接一次数据库的话肯定不行,速度必定很慢。我在考虑用数据库连接池。没有找到Log4j关于连接池的用法。各位大侠有何高见?请大家智者见智,一起讨论吧!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bluefishangel
2004-08-13
打赏
举报
回复
配置和我的差不多啊。你想说明什么问题呢?
有兴趣的话用mail交流吧。
chenjl@sinosoft.com.cn
朋友别哭
2004-08-12
打赏
举报
回复
up
muzg
2004-08-12
打赏
举报
回复
配置文件:loger_dabase.property
log4j.rootLogger=DEBUG,DATABASE
log4j.addivity.org.apache=true
log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/temp
log4j.appender.DATABASE.driver=org.gjt.mm.mysql.Driver
log4j.appender.DATABASE.user=root
log4j.appender.DATABASE.password=mzg
log4j.appender.DATABASE.sql=insert into test (id) VALUES ('[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n')
log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout
log4j.appender.DATABASE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
测试代码:Loger_dabase.java
package loger;
import org.apache.log4j.*;
public class Loger_dabase {
Logger loger=Logger.getLogger(Loger_dabase.class);
public static void main(String args[]){
PropertyConfigurator.configure("loger_dabase.property");
Loger_dabase d=new Loger_dabase();
d.send_database();
}
public void send_database(){
loger.debug("hello mzg");
loger.info("hello mzg");
loger.fatal("hello mzg");
loger.error("hello mzg");
}
}
其实它还可以发到你的油箱
bluefishangel
2004-08-11
打赏
举报
回复
什么???你的意思是说字段名都要按它的规定定才行吗????不会吧~~~
TinyJimmy
2004-08-11
打赏
举报
回复
我没有Log4j, 但写数据库的方法有点类似, 超过某一制定的数量时自动连接数据库写入一次. 如果不这样做, 每次写日志都操作数据库, 消耗大了.
westwin
2004-08-11
打赏
举报
回复
如果要望数据库里插入自定义的字段,就没那么容易咯
bluefishangel
2004-08-11
打赏
举报
回复
下面是我写的测试配置文件。可是还是没有成功。我实在找不出错在哪里了。郁闷啊!
# JDBC Appender 输出到数据库
#######################
log4j.appender.JDBC=org.apache.log4j.jdbc.JDBCAppender
log4j.appender.JDBC.URL=jdbc:oracle:thin:@192.168.70.144:1521:orcl
log4j.appender.JDBC.driver=oracle.jdbc.driver.OracleDriver
log4j.appender.JDBC.user=oaprd
log4j.appender.JDBC.password=newoaprd
log4j.appender.JDBC.BufferSize=40
log4j.appender.JDBC.layout = org.apache.log4j.PatternLayout
log4j.appender.JDBC.layout.ConversionPattern = INSERT INTO USEREVENTLOG(URI,MESSAGE) VALUES ('%c','%m')
各位大侠看看有什么错呢?
majy
2004-08-11
打赏
举报
回复
不好意思,没听说Log4j本身有写数据库的功能,恐怕要自己进行继承后改写才行吧
Shires
2004-08-11
打赏
举报
回复
up
bluefishangel
2004-08-11
打赏
举报
回复
我发现关于Log4j的JDBCAppender网上的资料都讲得不清不楚。有的还有出入。现在都晕了。我试了n多方法也没能写入到Oracle数据库。有没有个权威一点的实例啊?请大力指导一下。
bluefishangel
2004-08-10
打赏
举报
回复
照你这么说Log4j就不从存在连接池的问题了吗?可是我在API里看到JDBC相关类诶。
您能详细说明一下您所说的量吗?达到什么量就连数据库,怎么设置?
ChDw
2004-08-10
打赏
举报
回复
Log4j并不是每次都去连接的而是基本上只有一个连接,你根本不需要自己来做这样的事情
Log4j在内部都只有一个连接,当你开始写log的时候到达一定的量时,Log4j内部就会开始使用这些数据库连接来完成
SpringMVC+Mybatis+Shiro+Bootstrap实战
快速增长实战经验的课程技术选型:核心框架:Spring Framework 4.X视图框架:Spring MVC 4.X持久层框架:MyBatis 3.X /Mybatis-plus 2.1.8表格插件:Bootstrap Table表单验证插件:BootstrapValidator日期选择插件:Datepicker for Bootstrap数据图表:charts表单美化插件:ICheck树形视图插件:Ztree
数据库
Mysql5+Druid安全框架:Apache Shiro
数据库
连接池
:Druid日志管理:SLF4J、
Log4j
页面交互:BootStrap、Layer等
将文件中的单词及翻译导入
数据库
将单词及翻译导入
数据库
系统分析师零散知识点
数据库
连接池
技术 是指在系统初期或者初次使用时,完成
数据库
的连接,以后不再释放此连接,在处理后面的请求时,反复使用这些已经建立的连接。 这种方式可以大大减少
数据库
的处理时间,有利于提高系统的整体性能、可测量性和扩展性。 应用服务器的高速缓存? 在应用服务器中有页面的缓存和
数据库
的缓存。 页面的缓存是指将特定的URL对应的页面在缓存中予以记录,以便在
sqlplus 使用精讲
sqlplus 使用精讲 一、连接
数据库
os:仅仅进入sqlplus环境,不连接
数据库
sqlplus /nolog os:本机连接 方式1:操作系统认证登录:其后的角色不可省略 set ORACLE_SID=TEST_SID sqlplus / as { sysdba | sysoper | sysasm } 方式2:标准用户登录:密码、端口(默认1521)、角色 均可省略。如果密
SQLPLUS应用简介(二)
Oracle学习笔记:sqlplus 使用精讲一、连接
数据库
os:仅仅进入sqlplus环境,不连接
数据库
sqlplus /nolog os:本机连接 方式1:操作系统认证登录:其后的角色不可省略set ORACLE_SID=TEST_SIDsqlplus / as { sysdba | sysoper | sysasm } 方式2:标准用户登录:密码、端口(默认1521)、角色
Java EE
67,513
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章