2009年10月7日水曜日

EnterPriseLibrary LoggingAB

タイトルは、
ExtJsじゃないものもExtJsってついている。
これは半分ツール作成って意味もあったんだけど、
やめた。
----
気がつけば10月。
気がつけば半月以上。先日ExtJs勉強会に参加させてもらい、
each
iterate
invoke
flatten
など、知らないことばかりを勉強させてもらいました。
というよりずーっトほったらかしにしていたので
久しぶりにコーディングを。

DAABを使用してのサーバサイドは基礎的な部分は終了したので
LoggingABを使用してのログ吐きの部分を試していました。

EventLogへの出力はちょちょいとやればすぐにできました。
DBへの出力はというと。ほんのすこしだけ躓いたので。のこしておこう。

ちょうど先日買った洋書がありそれに基づくと。。。
(デフォルトのままです)
①\Program Files\Microsoft Enterprise Library 4.0 - May 2008\EntLib4Src\Blocks\Logging\Src\DatabaseTraceListener\Scripts
のLoggingDatabase.sql
を実行してLoggingのDBを作成。
・ユーザきったり、同時についかされるストアドに実行権限付与したり。
sql、ストアドの中身を書き換えて今のシステムDBに統合ってもの考えたけど
今はまず動かすことから。

②Enterprise Library ConfigurationでWebConfig開いて
 loggingDBアクセス用のConnectionstringを設定。

③アプリケーションルートでコンテキストメニュー開いて
new→LoggingApplicationBlock

④TraceListenerでコンテキストメニュー開いてDataBaseTraceListenerを
追加。

⑤DataBaseTraceListenerのDataBaseInstanceに先ほど追加しておいたConnectionStringを選択しておいてやる。

⑥LoggingErrors&WarningsにDataBaseTraceListnerがいるので
その中のReferencedTraceListenerにDataBaseTraceListerを選択してやる

で適当に

LogEntry entry = new LogEntry();
entry.EventId = 1;
entry.Priority = 0;
entry.Categories.Add("Trace");
entry.Severity = System.Diagnostics.TraceEventType.Critical;
entry.Message = "write critical";
Logger.Write(entry);

とかでDBに書かれていることは確認できた。あとは詳細のパラメータの勉強だ。
と、ループファイルのTraceListenerも使えそう。

ちなみにこの⑥でちょっとはまってた。
認識間違ってて、Tracelisterつくりゃ(登録したら)作った分だけ
それぞれよびだされるんと思ってた。ので設定するっていう考えが
いつしかすっ飛んでて、

あれ?イベントでるのにDB出ない。というよりイベントログしか出ない。
あれれ?といった具合に。しょぼすぎでした。先入観コワ。

こちらのサイトにもお世話になりました。
ライブりとの出会いもこのサイトの方の記事のと出会わなければ知りえなかった。
http://enterpriselibrary.jp/dnn/
改めて御礼です。

さて、
EnterpriseLibraryにも少しづつなれてきたっことですし、
そろそろおまちかねのものすごく久々なExtJs開発に着手ができるわけで。

たのしみだ。

0 件のコメント: