174

Windows EventLog にログを記録する ASP.NET アプリケーションを作成しています。これを行うには、最初にイベント ソースを作成する必要があります。これには管理者権限が必要なため、ASP.NET アプリでは実行できません。

イベント ログ ソースを作成できる、Windows にバンドルされている既存のコマンド ライン アプリケーションはありますか? それとも、独自のコマンド ライン アプリケーションを展開する必要がありますか?

4

8 に答える 8

306

「eventcreate.exe」を試す

例:

eventcreate /ID 1 /L APPLICATION /T INFORMATION  /SO MYEVENTSOURCE /D "My first log"

これにより、イベントログの下にevent typeという名前の新しいイベントソースが作成されます。MYEVENTSOURCEAPPLICATIONINFORMATION

このユーティリティは、XP 以降でのみ含まれていると思います。

参考文献

于 2009-06-24T02:17:03.547 に答える
184

PowerShell 2.0 の EventLog コマンドレットを試す

これを PowerShell 2.0 以降に投入します。

  • 一度実行New-EventLogして、イベント ソースを登録します。

    New-EventLog -LogName Application -Source MyApp
    
  • 次に、使用Write-EventLogしてログに書き込みます。

    Write-EventLog 
        -LogName Application 
        -Source MyApp 
        -EntryType Error 
        -Message "Immunity to iocaine powder not detected, dying now" 
        -EventId 1
    
于 2011-08-22T23:29:47.823 に答える
47

次のコマンドでWindowsPowerShellを使用することもできます。

if ([System.Diagnostics.EventLog]::SourceExists($source) -eq $false) {
    [System.Diagnostics.EventLog]::CreateEventSource($source, "Application")
}

CreateEventSourceを呼び出す前に、ソースが存在しないことを確認してください。存在しない場合、例外がスローされます。

詳細情報:

于 2010-02-19T22:53:33.007 に答える
12

eventcreate2ではカスタム ログを作成できますが、 eventcreateでは作成できません。

于 2009-10-05T21:12:21.650 に答える
1

または、コマンド ライン コマンドを使用します。

イベントクリエイト

于 2009-05-22T16:41:52.617 に答える
1

ただし、cmd/batch バージョンは機能しますが、1000 より大きい eventID を定義する場合に問題が発生する可能性があります。

$evt=new-object System.Diagnostics.Eventlog(“Define Logbook”)
$evt.Source=”Define Source”
$evtNumber=Define Eventnumber
$evtDescription=”Define description”
$infoevent=[System.Diagnostics.EventLogEntryType]::Define error level
$evt.WriteEntry($evtDescription,$infoevent,$evtNumber) 

サンプル:

$evt=new-object System.Diagnostics.Eventlog(“System”)
$evt.Source=”Tcpip”
$evtNumber=4227
$evtDescription=”This is a Test Event”
$infoevent=[System.Diagnostics.EventLogEntryType]::Warning
$evt.WriteEntry($evtDescription,$infoevent,$evtNumber)
于 2015-09-10T14:09:19.683 に答える
-3

diagnostics.Event ログ クラスを使用して、独自のカスタム イベントを作成できます。Windows アプリケーションを開き、ボタンをクリックして次のコードを実行します。

System.Diagnostics.EventLog.CreateEventSource("ApplicationName", "MyNewLog");

「MyNewLog」は、ログイン イベント ビューアに付けたい名前を意味します。

詳細については、このリンクを確認してください [ http://msdn.microsoft.com/en-in/library/49dwckkz%28v=vs.90%29.aspx]

于 2014-05-31T14:58:24.190 に答える