3

JDBC 呼び出しをインターセプトして Eclipse のコンソールに出力するようにP6Spyを正常に構成することができました。ただし、ファイルにキャプチャされたバインディング パラメーターを含むこれらのログが必要です。誰かがその方法を教えてください。これが私の現在の構成です:

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 を変更する必要があります。いずれかのフレームワークでパラメータ キャプチャを実行し、ファイルにリダイレクトする方法についての経験があれば、歓迎します。

前もって感謝します。

4

2 に答える 2

2

https://p6spy.github.io/p6spy/2.0/configandusage.htmlに示されているように、FileAppender を使用してログ ファイルを指定する必要があります。

    # ロギングに使用するアペンダーを指定します
    # 注意: リロードは、以前に設定したものをすべて忘れることを意味します
    # 設定 (実行時に設定されたものでも - JMX 経由)
    # そしてきれいなテーブルから始めます
    # (構成ファイルから読み取られたプロパティのみ)
    # (デフォルトは com.p6spy.engine.spy.appender.FileLogger)
    #appender=com.p6spy.engine.spy.appender.Slf4JLogger
    #appender=com.p6spy.engine.spy.appender.StdoutLogger
    #appender=com.p6spy.engine.spy.appender.FileLogger

    # 使用するログファイルの名前。Windows ユーザーはパス名に必ずスラッシュを使用する必要があることに注意してください (e:/test/spy.log)
    # (com.p6spy.engine.spy.appender.FileLogger のみに使用)
    # (デフォルトは spy.log)
    #logfile = spy.log

于 2015-12-03T16:47:31.187 に答える