トレースリスナートレース情報を書き込まない
-
27-10-2019 - |
質問
public sealed class Logger
{
private static TraceSource myTraceSource;
private Logger()
{
}
public static TraceSource Create()
{
if (myTraceSource == null)
return myTraceSource = new TraceSource("myTraceSource");
else
return myTraceSource;
}
public static void WriteInfo(string message)
{
myTraceSource.TraceEvent(TraceEventType.Information, 0, message);
myTraceSource.Flush();
}
public static void WriteError(Exception ex)
{
myTraceSource.TraceEvent(TraceEventType.Error, 1, ex.Message);
myTraceSource.Flush();
}
public static void WriteError(string message)
{
myTraceSource.TraceEvent(TraceEventType.Error, 1, message);
myTraceSource.Flush();
}
public static void WriteWarning(string message)
{
myTraceSource.TraceEvent(TraceEventType.Warning, 2, message);
myTraceSource.Flush();
}
public static void AddListener(TraceListener listener)
{
myTraceSource.Listeners.Add(listener);
}
public static void Close()
{
if (myTraceSource != null)
{
myTraceSource.Flush();
myTraceSource.Close();
}
}
}
以下は、トレースソースを初期化してリスナーを追加するコードです
Logger.Create();
TextWriterTraceListener myTextListener = new TextWriterTraceListener(LogCompletePath);
Logger.AddListener(myTextListener);
Logger.WriteError("error");
注意していないことに注意してください SytemDiagnostic
タグイン appconfig
コードでやりたいので。
解決
別のフォーラムで答えを得ました。ソースレベルに言及するのを忘れていましたが、デフォルトではオフに設定されています
return myTraceSource = new TraceSource("myTraceSource", SourceLevels.All);
所属していません StackOverflow