2012-05-02 7 views
1

私はWPFアプリケーションでLog4Netを使用しています。私はそれが私のフォーム上のTextBoxを更新するためにNotifyAppenderを使用しているところで働いています。これは、最上部に最も古いもの、下部に最も新しいものが入ってくる。Log4Net円形バッファを使用して表示

私はこれを逆にして、最新のものを入手する必要があります。また、ビューの更新を「フリーズ」して、ユーザーがメッセージをスクロールしてから「フリーズ解除」できるようにしたいと考えています。 "バッファリングされた"どこのメッセージが表示できるようになりました。私は、メッセージをキャプチャしてコレクションに配置し、並べ替え、ビューに表示する必要があると仮定していますが、メッセージをキャプチャする方法がわかりません。

これを達成する最も良い方法は何ですか?

答えて

1

MemoryAppenderを使用して、何とかあなたのWPFアプリケーションからアクセスできます。しかし、自分のアペンダー(ヒント:MemoryAppenderのソースコードをチェックしてください)を書いて、このアペンダーがあなたのアプリケーションとより直接通信できるようにするのが良いと思います。(つまり、サービスロケーターを使ってあなたのログメッセージを受け取るサービス。このサービスは、あなたのTextBoxを移植するためにあなたのViewModel(MVVMを使用することを前提としています)によって使用されます。IOCコンテナを使用する場合に最適ですが、これは厳密には必要ありません)

関連する問題