3
:カスタムトレースリスナの実装。私は、次のようなカスタムトレースリスナを実装する書くとWriteLineメソッド問題行動
public class TraceListener : System.Diagnostics.TraceListener
{
public override void Write(string message)
{
LogToDatabase(message);
}
public override void WriteLine(string message)
{
LogToDatabase(message);
}
}
は今、エラーがどこかにコード内で発生したと仮定します。キャッチブロックで実行したい
Trace.TraceError(ex.ToString())
ここでexはキャッチされた例外です。 問題はMyTraceListenerでWriteメソッドとWriteLineメソッドのメッセージパラメータが異なることです。さらに興味深いのは、ex.ToString()によって生成された文字列が、WriteLineメソッドのパラメータとして渡されますが、Writeでは渡されません。
うわー。 WriteとWriteLineには異なるパラメータがあるとは決して考えていませんでした。 –