現在のプロジェクトの XML 出力を使用してロガー/バグ トラッカーを作成したいと考えています。重複している場合は申し訳ありませんが、提案は役に立ちませんでしたし、Googleの良い解決策も見つかりませんでした.
1: 私の最初の質問は、例外の安全性についてです。
XmlDocument を使用すると、save を呼び出すまでログがメモリに保存されます。つまり、例外が発生した場合、すべてを失う可能性があります。
XmlWriter を使用する場合、それはメモリに保存されませんが (afaik)、ライターとすべての要素/ノードを閉じる必要があります。これは、例外が発生した場合にも欠落している可能性があります。ライターを閉じて再度開くことはできますか (ドキュメントの最後にポインターを置いて) ?
例外セーフな XML 作成のための最適なソリューションは何ですか? (ヒントだけ欲しい)
2: 2 番目の質問は、メモリ使用量についてです。
これはトレース ツールであるため、出力が非常に大きくなる可能性があります。したがって、XmlDocument を使用できません。私の意見では、XmlWriter がこれに最適なソリューションです。私はこれで正しいですか?
3: 最後の [マイナーな] 質問は、時間の消費についてです。
トレースに XML ファイルを使用することは良い考えですか、それとも悪い考えですか? プログラムの速度はどのくらい遅くなりますか?
あなたが私を助けてくれることを願っています。
編集: なぜ XML を使いたいのですか? 後で、私のアプリは「不明な」環境で実行されるため、インターネット経由でログをサーバーに送信できる必要があり、ファイル (XMLSchema) を検証する必要があります。これが完了したら、それをより読みやすい(そして適切にフォーマットされた)HTMLファイルに変換したいと思います。
ご覧のとおり、これは XML よりもはるかに優れた視覚化です (これにはまだ微調整が必要ですが、機能しています)。
編集 2: 現在の状態 メモリ使用量を測定しました。Logger (現在 XmlDocument :( に基づいています) は、5.000.000 エントリに対して ~600MB 必要です。最高の結果ではありませんが、最悪の結果でもありません。
よろしくアレックス