[Seasar-user:18950] Re: [DBFlute] ログ出力について
kubo
[E-MAIL ADDRESS DELETED]
2009年 12月 1日 (火) 15:50:41 JST
久保(jflute)です。
なるほど、select以外のSQLだけのログファイルを
作成するような感じですかね。
まあ、それでもおっしゃる通りでやり方は同じです。
CallbackContextでフィルタ掛けて取得したSQLを
Log4jで出力してしまえばOKです。
(その方がアプリでカスタマイズしやすいので良いですね)
フィルタの判定は、前回のメールの通りですが、
どうしても「厳密な判定」をしたいということでしたら、
次の0.9.6.1から、CallbackContextの中で「BehaviorCommand」
という内部インターフェースにアクセスできるようにしています。
BehaviorCommandのメソッドを利用、サブクラスを判定など、
少しでも判定の足しになればと思います。
但し、これは内部インターフェースなので、互換性に注意して下さい。
利用する場合は、デグレ防止用の単体テストを書くことをお奨めします。
「BehaviorCommand」の取得の仕方は、
dbflute-basic-exampleのCallbackContextTestをご覧下さい。
2009/12/1 <[E-MAIL ADDRESS DELETED]>:
> 豊城です。
> 説明不足ですみませんでした。
> QLog(log4j)を利用し取得したかったですが、Callbackで取得できるので
> Callbackからの取得したログを利用したいと思います。
>
> 久保さん回答ありがとうございます。
>
>>久保(jflute)です。
>>
>> 豊城さん、こんにちは
>>
>> ログの取得ことですが、これはプログラム上で
>> 文字列として取得したいということでよろしいでしょうか?
>>
>> そうであれば、まず以下のような方法で取得可能です。
>> http://d.hatena.ne.jp/jflute/20081109/1226212154
>>
>> select文を除外などのフィルタは、ここのcallbackにて、
>> フィルタ処理を掛けるような形になります。
>> 自動生成されるSQLに関しては定型的な形で出力されますが、
>> 外だしSQLの場合はそうではありませんので、アプリにて
>> ある程度規約を設けて、それに基づいて判定するといいでしょう。
>> どうでしょう、要件は満たせますでしょうか?
>>
>> 2009/12/1 <[E-MAIL ADDRESS DELETED]>:
>> > 豊城です。初心者ですがいろいろ勉強させてもらっています。
>> >
>> > DBFluteのログ出力でSelect文以外のSQL(Update、Insert等)のログだけ取得したい場合、
>> > どのような設定が必要ですか?
>> > DBFluteは0.9.6を使用しています。
>> >
>> > すみませんがよろしくお願いします。
>> >
>> > _______________________________________________
>> > Seasar-user mailing list
>> > [E-MAIL ADDRESS DELETED]
>> > https://ml.seasar.org/mailman/listinfo/seasar-user
>> >
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内