アプリケーションがいくつかのことをログに記録するために別のスレッドを作成する必要があり、タスクを使用することが提案されました。
私は仕事を完全に理解していないので、私はこの権利を持っていないようです(私は推測します)。
これが私が持っているものです:
public static void LogException(string message, Exception ex)
{
Action action= delegate() { logException(message, ex); };
new Task(action);
}
public static void logException(string message, Exception ex)
{
var stackTrace = new StackTrace();
var origin = stackTrace.GetFrame(1).GetMethod().Name;
var originclass = stackTrace.GetFrame(1).GetMethod().ReflectedType.Name;
var neworigin = string.Format("{0}.{1}", originclass, origin);
message += Environment.NewLine + Environment.NewLine + GetFullExceptionMessage(ex);
if (string.IsNullOrEmpty(message)) message = "No message given";
//var exceptions = GetAllErrMessages(ex);
//message = exceptions.Aggregate(message, (current, exception) => current + Environment.NewLine + exception);
EventLogging.LogEvent(neworigin, message, EventLogEntryType.Error, 9999);
EmailMessage(neworigin, message, EventLogEntryType.Error);
}
私は何が間違っているのですか?エラーは発生していませんが、ログが発生していません。
ありがとう!