1. ホーム
  2. c#

C#のエラーロギング

2023-11-19 06:39:53

質問

私は C++ でのコーディングから C# への切り替えを行っています。 C++のエラーログ/レポート用マクロシステムを、C#で同様のものに置き換える必要があります。

私の C++ のソースでは、次のように書くことができます。

LOGERR("何らかのエラー"); または LOGERR("Error with inputs %s and %d", stringvar, intvar).と書くことができます。

マクロ & サポート ライブラリ コードは、(おそらく varargs) フォーマットされたメッセージを、ソース ファイル、ソース行、ユーザー名、および時間と共にデータベースに渡します。 同じデータは、ユーザーに後で報告するために、データ構造にも詰め込まれます。

どなたか、この基本的なエラー報告/ロギングを行う C# コード スニペットまたは例へのポインターをお持ちではないでしょうか?

編集してください。 この質問をしたとき、私は本当に.NETに新しく、System.Diagnostics.Traceを知りませんでした。 System.Diagnostics.Trace は、そのとき私が必要としていたものでした。 それ以来、私は、ロギング要件がより大きく、より複雑なプロジェクトでlog4netを使用しています。 500 行の XML 設定ファイルを編集するだけで、log4net はあなたが必要とするすべてのことを行ってくれます :)

どのように解決するのですか?

log4net支持者が多いので、無視されるかもしれませんが、私自身の好みを付け加えましょう。

System.Diagnostics.Trace

これには、あなたの Trace() メソッドを聞き、ログファイルや出力ウィンドウ、イベントログに書き出すリスナーも含まれています。 DefaultTraceListener , TextWriterTraceListener と、その EventLogTraceListener . レベル(警告、エラー、情報)とカテゴリを指定することができます。

MSDN の Trace クラス

ウェブアプリケーションでイベントログに書き込む

UdpTraceListener - log4net 互換の XML メッセージを log2console のようなログビューアに書き込む。