WM6 Pro で実行されている cf.net アプリケーションにログ機能を追加したいと考えています。例外のロギングと、コードのより機密性の高いセクションのいくつかを調べています。ログをローカル (つまり、デバイス) に保存し、サーバーにも確実にアップロードしたいと考えています (ログをキューに入れる必要があります。アプリは時々接続されます)。
log4netでこれが可能かどうか、または独自のログシステムを作成する必要があるかどうかを誰かが知っていますか? 誰にも指針がありますか?
WM6 Pro で実行されている cf.net アプリケーションにログ機能を追加したいと考えています。例外のロギングと、コードのより機密性の高いセクションのいくつかを調べています。ログをローカル (つまり、デバイス) に保存し、サーバーにも確実にアップロードしたいと考えています (ログをキューに入れる必要があります。アプリは時々接続されます)。
log4netでこれが可能かどうか、または独自のログシステムを作成する必要があるかどうかを誰かが知っていますか? 誰にも指針がありますか?
これに log4net を使用する場合は、UDP アペンダー オプションを使用してリモート サーバーにログを記録しないでください。WM デバイスが ActiveSync 経由で PC に接続され、PC を介してネットにアクセスしている場合、UDP を使用しようとすると ActiveSync がクラッシュし、PC の再起動と WM デバイスのソフト リセットが必要になります。これが原因で、デモがひどく失敗しました(大きな契約を失いました)。
log4net は他の環境では優れているかもしれませんが、PITA であり、Windows Mobile で問題を起こす価値がないことがわかりました。TextWriter を使用してテキスト ファイルに情報をダンプする (ローカル ロギング用) か、リモート サーバーで Web サービス関数を呼び出す、独自の単純な Logger クラスを作成することをお勧めします。何がどこに書き込まれるかを完全に制御でき、ログを読むためだけにチェーンソーのナンセンスは必要ありません。
SQL CE(Compact Edition)はレプリケーションをサポートしています。例外をローカルに保存し、接続時にローカルデータストアを中央サーバーと同期することができます。ここにいくつかの詳細。
それは可能です。サーバーが利用可能かどうかを確認し、そうでない場合はデータを sqlite に保存するカスタム アペンダーを作成するだけです。
http://karlagius.wordpress.com/2008/01/02/writing-a-custom-appender-for-log4net/