DaoSQLを出力する方法
S2Javelinの適用方法は、JavelinTraceInterceptorを各コンポーネントにaspectとして設定するのですが、S2Daoが発行するSQLを出力するにはlog4jの設定で行います。
log4j.properties
#S2Javelin Logger log4j.category.org.seasar.javelin.JavelinTraceInterceptor=DEBUG, Javelin log4j.appender.Javelin=org.apache.log4j.FileAppender #S2Javelin log file log4j.appender.Javelin.File=c:\\temp\\s2javelin.jvn log4j.appender.Javelin.layout=org.apache.log4j.PatternLayout log4j.appender.Javelin.layout.ConversionPattern=%m%n log4j.additivity.org.seasar=false # SQL Logger log4j.category.org.seasar.extension.jdbc.impl=DEBUG, DaoSql log4j.category.org.seasar.dao=DEBUG, DaoSql log4j.appender.DaoSql=org.apache.log4j.FileAppender #SQL log file log4j.appender.DaoSql.File=c:\\temp\\s2javelin.jvn log4j.appender.DaoSql.layout=org.apache.log4j.PatternLayout log4j.appender.DaoSql.layout.ConversionPattern= Write ,%d{yyyy/MM/dd HH:mm:ss.SSS},,DaoSQL,0,%M,%C,0,public,%t%n <<javelin.FieldValue_START>>%n%m%n<<javelin.FieldValue_END>>%n%n
上記のようにS2Javelinに含まれているlog4j.propertiesの設定をそのままコピペすれば完了です。これで、S2Daoが発行するSQLをArrowVisionで表示可能な形式でログ出力してくれます。
課題としては、ArrowVisionで表示した時に、呼び出し元になるDaoやBaoから矢印がひけない点です。これはS2Daoに手を入れないと実現できないようです(S2Javelinコミッタ談)。
ぜひ対応してもらいたいですが、現状でも時系列で必ず並ぶので、シーケンシャルに見ることができます。