log4jdbc使用 .

简介: 一、项目介绍   log4jdbc项目地址:http://code.google.com/p/log4jdbc/   可以将原先的参数占位符“?”,替换为实际参数值,方便调试 如:select username,password from bitth_date > ? and age 替换为:select username,password from bitth_date > to_date(‘2010-11-11’,’yyyy-mm-dd’) and age 另外可以输出调用时间等。

一、项目介绍

 

log4jdbc项目地址:http://code.google.com/p/log4jdbc/

 

可以将原先的参数占位符“?”,替换为实际参数值,方便调试

如:select username,password from bitth_date > ? and age

替换为:select username,password from bitth_date > to_date(‘2010-11-11’,’yyyy-mm-dd’) and age

另外可以输出调用时间等。

 

二、log4jdbc使用

1. 选择log4jdbc版本,按照网站描述

log4jdbc3-1.2beta2.jar    for JDBC 3 support in JDK 1.4 , JDK 1.5
log4jdbc4-1.2beta2.jar    for JDBC 4 support in JDK 1.6 , JDK 1.7

 

2. 需要使用SLF4j

 

3. 设置jdbc driver。

如:在jdbc.properties中将原先的

jdbc.driver=oracle.jdbc.driver.OracleDriver

修改为

jdbc.driver=net.sf.log4jdbc.DriverSpy

 

4. 修改jdbc url。

如:在jdbc.properties中将原先的

jdbc.url=jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)))

 

修改为

jdbc.url=jdbc:log4jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=test)))

 

5. 设置logger

如在控制台仅需要输出sql语句的log4j.properties

log4j.logger.jdbc.sqlonly=DEBUG,sql log4j.additivity.jdbc.sqlonly=true log4j.appender.sql=org.apache.log4j.ConsoleAppender log4j.appender.sqlThreshold=debug log4j.appender.sqlTarget=System.out log4j.appender.sqlEncoding=GBK log4j.appender.sql.layout=org.apache.log4j.PatternLayout log4j.appender.sql.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n

 

目前版本为1.2beta2。

 

log4jdbc文档中的log4j.properties示例

  1. !==============================================================================  
  2. ! log4j.properties - An example configuration properties file for log4j.  
  3. !  
  4. ! Logging levels are:  
  5. ! DEBUG  INFO  WARN  ERROR  FATAL  
  6. !==============================================================================  
  7.   
  8. ! turn on the internal log4j debugging flag so we can see what it is doing  
  9. log4j.debug=true  
  10.   
  11. !==============================================================================  
  12. ! JDBC API layer call logging :  
  13. ! INFO shows logging, DEBUG also shows where in code the jdbc calls were made,  
  14. ! setting DEBUG to true might cause minor slow-down in some environments.  
  15. ! If you experience too much slowness, use INFO instead.  
  16.   
  17. ! Log all JDBC calls except for ResultSet calls  
  18. log4j.logger.jdbc.audit=INFO,jdbc  
  19. log4j.additivity.jdbc.audit=false  
  20.   
  21. ! Log only JDBC calls to ResultSet objects  
  22. log4j.logger.jdbc.resultset=INFO,jdbc  
  23. log4j.additivity.jdbc.resultset=false  
  24.   
  25. ! Log only the SQL that is executed.  
  26. log4j.logger.jdbc.sqlonly=DEBUG,sql  
  27. log4j.additivity.jdbc.sqlonly=false  
  28.   
  29. ! Log timing information about the SQL that is executed.  
  30. log4j.logger.jdbc.sqltiming=DEBUG,sqltiming  
  31. log4j.additivity.jdbc.sqltiming=false  
  32.   
  33. ! Log connection open/close events and connection number dump  
  34. log4j.logger.jdbc.connection=FATAL,connection  
  35. log4j.additivity.jdbc.connection=false  
  36.   
  37.   
  38. ! the appender used for the JDBC API layer call logging above, sql only  
  39. log4j.appender.sql=org.apache.log4j.FileAppender  
  40. log4j.appender.sql.File=./logs/sql.log  
  41. log4j.appender.sql.Append=false  
  42. log4j.appender.sql.layout=org.apache.log4j.PatternLayout  
  43. log4j.appender.sql.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n  
  44.   
  45. ! the appender used for the JDBC API layer call logging above, sql timing  
  46. log4j.appender.sqltiming=org.apache.log4j.FileAppender  
  47. log4j.appender.sqltiming.File=./logs/sqltiming.log  
  48. log4j.appender.sqltiming.Append=false  
  49. log4j.appender.sqltiming.layout=org.apache.log4j.PatternLayout  
  50. log4j.appender.sqltiming.layout.ConversionPattern=-----> %d{yyyy-MM-dd HH:mm:ss.SSS} %m%n%n  
  51.   
  52. ! the appender used for the JDBC API layer call logging above  
  53. log4j.appender.jdbc=org.apache.log4j.FileAppender  
  54. log4j.appender.jdbc.File=./logs/jdbc.log  
  55. log4j.appender.jdbc.Append=false  
  56. log4j.appender.jdbc.layout=org.apache.log4j.PatternLayout  
  57. log4j.appender.jdbc.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n  
  58.   
  59. ! the appender used for the JDBC Connection open and close events  
  60. log4j.appender.connection=org.apache.log4j.FileAppender  
  61. log4j.appender.connection.File=./logs/connection.log  
  62. log4j.appender.connection.Append=false  
  63. log4j.appender.connection.layout=org.apache.log4j.PatternLayout  
  64. log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} %m%n  
目录
相关文章
|
JSON 前端开发 Java
【十八】springboot实现自定义全局异常处理
【十八】springboot实现自定义全局异常处理
402 2
【十八】springboot实现自定义全局异常处理
|
消息中间件 NoSQL Java
Redis监听Key的过期事件
在redis.conf配置文件中有个配置项:notify-keyspace-events " " ,默认是没有key的过期监听的,我们需要将其开启
2186 0
|
存储 缓存 算法
P2P 视频流与 HTTP 视频流 | 学习笔记
快速学习 P2P 视频流与 HTTP 视频流,介绍了 P2P 视频流与 HTTP 视频流系统机制, 以及在实际应用过程中如何使用。
P2P 视频流与 HTTP 视频流 | 学习笔记
|
存储 Linux
CentOS 7 上安装和使用 FFmpeg
FFmpeg 是一个用于处理多媒体文件的免费开源工具集合。它包含一组共享的音频和视频库,例如 libavcodec、libavformat 和 libavutil。使用 FFmpeg,您可以在各种视频和音频格式之间进行转换、设置采样率、捕获流音频/视频以及调整视频大小 #云库工具#。
1488 1
|
8月前
|
监控 JavaScript 前端开发
ry-vue-flowable-xg:震撼来袭!这款基于 Vue 和 Flowable 的企业级工程项目管理项目,你绝不能错过
基于 Vue 和 Flowable 的企业级工程项目管理平台,免费开源且高度定制化。它覆盖投标管理、进度控制、财务核算等全流程需求,提供流程设计、部署、监控和任务管理等功能,适用于企业办公、生产制造、金融服务等多个场景,助力企业提升效率与竞争力。
473 12
|
JavaScript
VUE上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function
VUE上传功能本地上传正常,打包上传后报错TypeError: ***.upload.addEventListener is not a function
1639 0
|
11月前
|
存储 Java 开发者
成功优化!Java 基础 Docker 镜像从 674MB 缩减到 58MB 的经验分享
本文分享了如何通过 jlink 和 jdeps 工具将 Java 基础 Docker 镜像从 674MB 优化至 58MB 的经验。首先介绍了选择合适的基础镜像的重要性,然后详细讲解了使用 jlink 构建自定义 JRE 镜像的方法,并通过 jdeps 自动化模块依赖分析,最终实现了镜像的大幅缩减。此外,文章还提供了实用的 .dockerignore 文件技巧和选择安全、兼容的基础镜像的建议,帮助开发者提升镜像优化的效果。
|
数据采集 物联网 数据挖掘
API接口的应用
API接口在现代技术中至关重要,它使不同软件、设备间能相互通信和数据共享。在社交网络中,如Facebook及Twitter的API让开发者能够构建交互式应用;移动应用则依赖API与服务器通信,实现天气查询、地图定位等功能;云计算平台如AWS通过API提供了资源管理和配置服务;物联网设备使用API实现数据交换;视频游戏开发商利用各类平台API发布游戏。此外,API爬虫数据接口技术通过爬虫抽取并输出数据,被广泛应用于获取商业、金融、医疗等领域的大数据,以支持数据分析、策略制定及业务流程优化,极大地提高了数据收集与处理的效率和准确性。
|
NoSQL 关系型数据库 MongoDB
实时计算 Flink版操作报错之使用mongodb cdc时报错Command failed with error 40573,是什么导致的
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
小程序
微信小程序实现点击复制(wx.setClipboardData)
微信小程序实现点击复制(wx.setClipboardData)
436 0