[Seasar-user:18959] Re: [DBFlute] ログ出力について

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2009年 12月 3日 (木) 03:15:34 JST


あわねです。

久保さん、ご回答ありがとうございます。

違いがよくわかりました。
頂いた情報を元にどちらを使うか考えたいと思います。

--- kubo  wrote:
> 久保(jflute)です。
> 
> あわねさん、こんばんは。
> 
> とりあえずは:
>  o CallbackContextはDBFluteの機能:別のDIコンテナでも共通
>  o SqlLogRegistryはS2Containerの機能:Seasarを利用した場合のみ
> という違いが一つ。
> 
> また、仕組み的なところの違いは、
> SqlLogRegistryはスレッドローカルにSQLを自動的に溜めていきますが、
> CallbackContextは発行されたSQLをどうするか(溜めるかどうかなど)自体を
> ユーザに任せます。(直接ログに出力したり、DBに格納したり、
> SqlLogRegistryのようにスレッドローカルに溜めたりと色々)。
> 
> DBFluteにおけるSqlLogRegistry利用の特徴としては、
> 全てリフレクション経由で利用しています。
> (DBFluteランタイムはS2Containerに依存しないため)
> 
> CallbackContextはDBFluteの固有の機能なので、
> 今後、細かい点で関連機能をアップさせるとなれば、
> 当然ですがCallbackContextのみに反映されることになります。
> また「SQLのログ文字列を取得」というドキュメントを書く場合、
> これも当然ですがCallbackContextをメインに書きます。
> DBFluteはS2ContainerのSqlLogRegistry機能「も」
> サポートしてるという形式なので。
> 
> 片方は別のプロダクトの機能なので、どちらがお奨めかって
> 話は自分からはすることはできないですが、
> 以上の違いをふまえて、適切に選んで頂けたらと思います。
> 
> 
> 2009/12/3  <[E-MAIL ADDRESS DELETED]>:
> > あわねです。いつもお世話になっております。
> >
> > 便乗で質問させてください。
> > S2ContainerとDBFluteの組み合わせの場合、
> > CallbackContextとSqlLogRegistry(S2Containerの機能)では
> > どちらがお勧めでしょうか。
> > (カスタマイズ性やパフォーマンスの観点など)
> > もちろん用途にもよると思いますが。
> >
> > 今SqlLogRegistryを開発時に使っているので、
> > SqlLogRegistryとCallbackContextの機能差異を知りたいです。
> > よろしくお願いします。
> >
> > --- kubo  wrote:
> >> 久保(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 mailing list
> >> [E-MAIL ADDRESS DELETED]
> >> https://ml.seasar.org/mailman/listinfo/seasar-user
> >>
> >
> > --------------------------------------
> > Learn more about HIV/AIDS - Red Ribbon Campaign 2009
> > http://pr.mail.yahoo.co.jp/redribbon/
> > _______________________________________________
> > 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
>

--------------------------------------
Learn more about HIV/AIDS - Red Ribbon Campaign 2009
http://pr.mail.yahoo.co.jp/redribbon/


Seasar-user メーリングリストの案内