0

スケジュールされたタスクを実行するコンソール アプリがあり、catch ブロックのイベント ログに書き込みたいと考えています。使ってみました

EventLog.WriteEntry("My App Name","Error Message - " ex.ToString() );

しかし、何らかの理由でエラーを書いていません。私は何か間違ったことをしていますか?

ありがとう

4

3 に答える 3

2

このコードは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.");

    }
}
于 2009-08-18T14:33:09.697 に答える
1

イベントソースが存在することを確認する必要があります。例:

if (!EventLog.SourceExists("MySource"))
    EventLog.CreateEventSource("MySource","Application");

http://support.microsoft.com/kb/307024を参照してください

于 2009-08-18T14:34:17.060 に答える
0

EventLog.CreateEventSource の呼び出しに若干の遅延が発生する場合があるので、作成直後に作成した EventSource にアクセスしようとする場合は注意が必要です。

于 2009-11-25T15:58:10.350 に答える