2012-02-15 13 views
1

私が始めたばかりのMVC3 Webサイトがあります。私はこのサイトにログを追加したいと思い、Log4Netに行くことにしました。私はこれを設定するためにこれをtutorialと使いましたが、それはややうまく機能しますが、期待どおりに動作していません。Log4Net for MVC3のWebサイトは、サイトを停止した後にSQLデータベースにのみログを記録します。

私は指示に使用していたサイトの指示に従ってログを設定しました。私は、デバッガを使用してサイトを実行し、ホームコントローラのインデックスアクションが呼び出されたときにレコードを記録しているはずです。

テーブルを確認したところ空でした。私はデバッガを停止し、私の設定ファイルをチェックしました。すべてがOKに見えました。私はロギングが行われたコード行にブレークポイントを設定します。コードはヒットしましたが、私のログテーブルには何もありません。

私はlog4netのデバッグを有効にすることにしました。私はweb.configを変更し、デバッガを再開しました。今で私のテーブルをチェックしたところ、2つのエントリが示されましたが、タイムスタンプが数分かったことに気付きました。

追加のテストの後、私はweb.configファイルを変更したときにロガーがテーブルにフラッシュしているだけでした。

まず、この正常な動作ですか?

もしそうでなければ、私のウェブサイトを止めることなくlog4netをログに記録する方法はありますか?ソリューション

おかげ

更新答えが@tawmanによって提供されたならば、私はその後たBufferSizeに検索することができます。これが私が遭遇した問題の理由でした。

BufferSizeは、書き込まれる前にキューに入れられるログの数です。私はこの値を1に変更しました(100の提案とは対照的に - デフォルトは500です)。

これはすぐに私のログを書いています。 1の設定でパフォーマンスの影響があるかどうかはわかりませんが、これを調べなければなりません。

答えて

4

変更バッファサイズを小さく設定log4net Config Examples

<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender"> 
    <bufferSize value="100" /> 
... 
関連する問題