EventLog.LogNameFromSourceName(String, String) メソッド

定義

指定したソースが登録されているログの名前を取得します。

public:
 static System::String ^ LogNameFromSourceName(System::String ^ source, System::String ^ machineName);
public static string LogNameFromSourceName (string source, string machineName);
static member LogNameFromSourceName : string * string -> string
Public Shared Function LogNameFromSourceName (source As String, machineName As String) As String

パラメーター

source
String

イベント ソースの名前。

machineName
String

検索対象のコンピューターの名前。ローカル コンピューターの場合は "."。

戻り値

レジストリ内で指定したソースに関連付けられているログの名前。

次の例では、ローカル コンピューターからソースを削除します。 この例では、ソースからログを決定し、ログを削除します。

注意

複数のソースがイベント ログに書き込む可能性があります。 カスタム ログを削除する前に、そのログに書き込む他のソースがないことを確認します。

#using <System.dll>

using namespace System;
using namespace System::Diagnostics;
using namespace System::Threading;
int main()
{
   String^ logName;
   if ( EventLog::SourceExists( "MySource" ) )
   {
      
      // Find the log associated with this source.    
      logName = EventLog::LogNameFromSourceName( "MySource", "." );
      // Make sure the source is in the log we believe it to be in
      if (logName != "MyLog")
          return -1;
      // Delete the source and the log.
      EventLog::DeleteEventSource( "MySource" );
      EventLog::Delete( logName );
      Console::WriteLine( "{0} deleted.", logName );
   }
   else
        {
            // Create the event source to make next try successful.
            EventLog::CreateEventSource("MySource", "MyLog");
        }
}
using System;
using System.Diagnostics;
using System.Threading;

class MySample1
{
    public static void Main()
    {
        string logName;

        if (EventLog.SourceExists("MySource"))
        {
            // Find the log associated with this source.
            logName = EventLog.LogNameFromSourceName("MySource", ".");
            // Make sure the source is in the log we believe it to be in.
            if (logName != "MyLog")
                return;
            // Delete the source and the log.
            EventLog.DeleteEventSource("MySource");
            EventLog.Delete(logName);

            Console.WriteLine(logName + " deleted.");
        }
        else
        {
            // Create the event source to make next try successful.
            EventLog.CreateEventSource("MySource", "MyLog");
        }
    }
}
Option Explicit On
Option Strict On

Imports System.Diagnostics
Imports System.Threading

Class MySample
    Public Shared Sub Main()
        Dim logName As String

        If EventLog.SourceExists("MySource") Then
            ' Find the log associated with this source.    
            logName = EventLog.LogNameFromSourceName("MySource", ".")
            ' Make sure the source is in the log we believe it to be in
            If (logName <> "MyLog") Then
                Return
            End If
            ' Delete the source and the log.
            EventLog.DeleteEventSource("MySource")
            EventLog.Delete(logName)

            Console.WriteLine((logName & " deleted."))
        Else
            ' Create the event source to make next try successful.
            EventLog.CreateEventSource("MySource", "MyLog")
        End If
    End Sub
End Class

注釈

イベント ソースは、イベントをログに記録する内容を示します。 アプリケーションが大きい場合は、多くの場合、アプリケーションの名前、またはアプリケーションのサブコンポーネントの名前です。 アプリケーションとサービスは、アプリケーション ログまたはカスタム ログに書き込む必要があります。 デバイス ドライバーは、システム ログに書き込む必要があります。

一度に 1 つのログにのみ書き込むことができる新しいソースを作成すると、アプリケーションがエントリの有効なソースとしてイベント ログに登録されます。 プロパティには Source 任意の文字列を指定できますが、コンピューター上の他のソースで名前を使用することはできません。 重複した Source 値を作成しようとすると、例外がスローされます。 ただし、1 つのイベント ログにさまざまなソースを書き込むことができます。

適用対象

こちらもご覧ください