スケジュールされたタスクを実行するコンソール アプリがあり、catch ブロックのイベント ログに書き込みたいと考えています。使ってみました
EventLog.WriteEntry("My App Name","Error Message - " ex.ToString() );
しかし、何らかの理由でエラーを書いていません。私は何か間違ったことをしていますか?
ありがとう
スケジュールされたタスクを実行するコンソール アプリがあり、catch ブロックのイベント ログに書き込みたいと考えています。使ってみました
EventLog.WriteEntry("My App Name","Error Message - " ex.ToString() );
しかし、何らかの理由でエラーを書いていません。私は何か間違ったことをしていますか?
ありがとう
このコードはC#のMSDNWebサイトからのものです。お役に立てば幸いです。
using System;
using System.Diagnostics;
using System.Threading;
class MySample{
public static void Main(){
// Create the source, if it does not already exist.
if(!EventLog.SourceExists("MySource")){
EventLog.CreateEventSource("MySource", "MyNewLog");
Console.WriteLine("CreatingEventSource");
}
// Create an EventLog instance and assign its source.
EventLog myLog = new EventLog();
myLog.Source = "MySource";
// Write an informational entry to the event log.
myLog.WriteEntry("Writing to event log.");
}
}
イベントソースが存在することを確認する必要があります。例:
if (!EventLog.SourceExists("MySource"))
EventLog.CreateEventSource("MySource","Application");
EventLog.CreateEventSource の呼び出しに若干の遅延が発生する場合があるので、作成直後に作成した EventSource にアクセスしようとする場合は注意が必要です。