- PR -

アプリケーションログへのログ出力方法

投稿者投稿内容
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2004-06-21 15:33
こんにちは。
VB.NETで開発しているものです。

エラーの場合、アプリケーションログにログを出力したいと思っています。
現在、アプリケーションログに出力することはできるのですが、
ソースの名前を"XXX"というように、自分で作成した文字列にしたいのですが、
どうしても"アプリケーション"という文字列しか出力されません。
なにか方法が違うのでしょうか?
以下にサンプルを載せます。

お分かりになる方がいらっしゃいましたら、是非ご教授下さい。
よろしくお願いします。

Dim eventLog As EventLog 'イベントログ

eventLog = New EventLog("アプリケーション")

If Not eventLog.SourceExists("XXX") Then
eventLog.CreateEventSource("XXX", "アプリケーション")
End If

eventLog.Source = "XXX"

eventLog.WriteEntry(Errmsg,EventLogEntryType.Error)
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-06-21 17:26
Vbのヘルプと同じ順序でやってみたらどうでしょうか?
<ヘルプページ>
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdiagnosticseventlogclasscreateeventsourcetopic1.asp
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2004-06-22 14:15
返信、どうもありがとうございます。

参考に頂いたURLを元に作成しましたが、どうも"アプリケーション"という
ログファイルがもう一つできてしまい、元からある"アプリケーション"ログの方に
"XXX"というソースで書き込めません。

参考にしたHPも、ログファイルを新たに作成して、ログを吐く方法なのですが、
元からある"アプリケーション"ログに自分で定義したソース名で吐く方法はないものでしょうか?
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-22 14:23
"アプリケーション"ではなく"Application"では?

http://ukamen.hp.infoseek.co.jp/Programming2/EventLog/
KKK
大ベテラン
会議室デビュー日: 2003/10/10
投稿数: 119
投稿日時: 2004-06-22 16:57
todoさん、ありがとうございます。

以下のようにソースを修正しましたが、アプリケーションログに出力できませんでした。
新たにイベントログは作成しなくなりましたが....

Dim eventLog As EventLog

eventLog = New EventLog

If Not eventLog.SourceExists("XXX") Then
eventLog.CreateEventSource("XXX", "Application")
End If

eventLog.Log = "Application"
eventLog.Source = "XXX"

eventLog.WriteEntry(ErrCod,EventLogEntryType.Error)
Qoo
大ベテラン
会議室デビュー日: 2003/04/08
投稿数: 121
投稿日時: 2004-06-22 18:07
こんにちは。

If Not eventLog.SourceExists("XXX") Then
eventLog.CreateEventSource("XXX", "アプリケーション")
End If

If Not EventLog.SourceExists("XXX") Then
EventLog.CreateEventSource("XXX", "アプリケーション")
End If
にするとどうなりますか?(試してないですが。。。)

(eventLogをEventLogにしてます)
えムナウ
大ベテラン
会議室デビュー日: 2004/06/10
投稿数: 187
お住まい・勤務地: 東京
投稿日時: 2004-06-22 18:56
レジストリの「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog」はどんな感じになっているんでしょうか?
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2004-06-22 19:28
動くけど..

private void button1_Click(object sender, System.EventArgs e) {

EventLog el = new EventLog();
el.Log = "Application";
el.Source = "MySource";
el.WriteEntry("MyMessage", EventLogEntryType.Error);
}

スキルアップ/キャリアアップ(JOB@IT)