!!!イベントログ {{category ".NET Framework",nolink}}.NETは標準でイベントログに書き込むことが出来る。また、任意のカスタムイベントログにも書き込むことが出来る。ただし、最初にはイベントソースの登録とカスタムイベントログの作成が必要となる。 !!イベントログに書き込む イベントログに書き込むには、EventLog クラス(名前空間:System.Diagnostics)の WriteEntry メソッドを利用する。 EventLog.WriteEntry(source, message, type); source は登録したイベントソース。message はイベントログに残す内容。type は「情報」などイベントの種類を指定する。詳しくは、MSDN 参照。 !!イベントソースの登録 イベントログに書き込むには、事前にイベントソースの登録が必要となる。ソースは、同時に一つのログにしか登録出来ないので、変更する場合は先に削除する必要がある。これらの操作にはコンピュータの管理者権限が必要です。 EventLog.CreateEventSource(source, logName); source は登録するイベントソース。logName はログ名(アプリケーション、システム、または カスタムイベントログ)を指定する。 EventLog.DeleteEventSource(source); source は削除するイベントソース。 EventLog.Delete(logName); logName は削除するログ名。カスタムイベントログを消すとそれに登録されるイベントソースも削除され、他のアプリケーションが動かない可能性があるので注意が必要。 '''追記 (2015-02-21)''' : 一度登録したイベントソースを別のカスタムイベントログに変更する場合、削除もしくは再登録し直したあとでOSを再起動させる必要がある。 多分、イベントログを記録するサービスがソースと書き込むログファイルをロードしている(メモリ上にない場合にレジストリから取得する)ためと思われる。Win 7/8.1 で確認。 !!!私製イベントログツール .NET アプリケーションでイベントログに書き込むには、イベントソースの登録などを事前に行うか、アプリケーション内で行う必要がある。 ※C# で作って、他の C# アプリケーションで書き込みはうまくいったが、違うプログラムで書き込もうと思ったら失敗した記憶がある。なぜ? !!ファイル ■ダウンロード: {{ref EventLogTool.zip}} ※.Net 2.0 でビルド !使用条件・配布条件 *営利・非営利問わず各自の責任で自由に利用してください。 *アーカイブの内容を変更しなければ自由に配布を行ってかまいません。 !免責事項 本ソフトウェアを使用した結果生じたいあらゆる事象(損害,損失など)において作者は一切責任を負わないものとします。なお本ソフトウェアにバグが発見された場合、作者は修正及びバージョンアップの義務を負わないものとします。 !!使い方 > EventLogTool USAGE: EventLogTool (add|del|chk) source [logName] USAGE: EventLogTool dellog logName USAGE: EventLogTool log [/S:source] [/E:I|W|E|SA|FA] message !イベントソースを登録する EventLogTool add source [logName] source は登録するソース名、logName はカスタムイベントログ名。 logName は指定しなければ「アプリケーション」に登録される。 カスタムイベントログがない場合は、新たに作成される。 !イベントソースを削除する EventLogTool del source source は削除するソース名。 !イベントソースをの有無を確認する EventLogTool chk source source は確認するソース名。 !カスタムイベントログを削除する EventLogTool dellog logName logName は削除する(カスタムイベント)ログ名。 !イベントログに書き込む EventLogTool log [/S:source] [/E:I|W|E|SA|FA] message message は書き込む内容、'/S:'でソース名、'/E:'で種類を指定する。 ソース名を省略すると 'EventLogTool' となる。種類を省略すると「情報」となる。 種類の内容はそれぞれ以下がある。(それぞれ頭文字を指定) ,種類,意味 ,Information ,情報イベント ,Warning ,警告イベント ,Error ,エラーイベント ,SuccessAudit ,成功した監査イベント ,FailureAudit ,監査エラーイベント