我能够成功配置P6Spy来拦截 JDBC 调用并将它们输出到 Eclipse 的控制台。但是,我希望这些日志具有文件中捕获的绑定参数。有人可以帮我看看如何做到这一点。这是我目前的配置:
log4j.properties
# Default log level
log4j.rootCategory=ERROR, console, FileAppender
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
# DEBUG File
log4j.appender.FileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.FileAppender.Threshold=DEBUG
log4j.appender.FileAppender.File=claims_logger.log
log4j.appender.FileAppender.MaxFileSize=1024KB
log4j.appender.FileAppender.MaxBackupIndex=2
log4j.appender.FileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.FileAppender.layout.ConversionPattern=%-5p %d [%t] %c: %m%n
log4j.logger.org.apache=WARN
log4j.logger.org.hibernate.engine.StatefulPersistenceContext.ProxyWarnLog=ERROR
log4j.logger.org.springframework.beans.factory=WARN
log4j.logger.org.mule=INFO
log4j.logger.org.mule.modules.sqs=DEBUG
log4j.logger.org.fuwt=DEBUG
间谍属性
realdriver=org.postgresql.Driver
useprefix=false
deregisterdrivers=true
module.log=com.p6spy.engine.logging.P6LogFactory
executionthreshold=
outagedetection=false
outagedetectioninterval=
filter=false
include =
exclude =
sqlexpression =
autoflush = true
dateformat=yyyy-MM-dd hh:mm:ss
includecategories=
excludecategories=info,debug,result,batch
stringmatcher=
stacktrace=false
stacktraceclass=
reloadproperties=false
reloadpropertiesinterval=60
appender=com.p6spy.engine.logging.appender.StdoutLogger
append=true
log4j.additivity.p6spy=false
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=p6spy - %m%n
log4j.logger.p6spy=DEBUG,STDOUT
Spring 正在使用以下方法构建其数据源:
jdbc.driverClassName=com.p6spy.engine.spy.P6SpyDriver
我正在使用 P6Spy 1.3 版。
我读到 log4jdbc 是对我的用例进行 SQL 拦截的一种首选方式,但它似乎需要更多配置,即需要根据他们的 doc修改 jdbc URL 。任何关于如何在任一框架中完成参数捕获并重定向到文件的经验都值得赞赏。
先感谢您。