Freigeben über


Schreiben von Informationen in das Ereignisprotokoll

Möglicherweise möchten Sie den Status der verschiedenen Geschäftsprozesse in der BizTalk-Anwendung überwachen, indem Sie Informationen in das Standardanwendungsprotokoll oder in ein benutzerdefiniertes Ereignisprotokoll schreiben. Einträge in das Ereignisprotokoll sind in folgenden Szenarien nützlich:

  • Sie möchten nach der üblichen Vorgehensweise mit Windows-Tools auf Anwendungsmeldungen zugreifen.

  • Sie möchten zur Vervollständigung des Verlaufsprotokolls Informationen mit Meldungen aus der Serverumgebung archivieren.

  • Sie möchten Ihre Anwendung mit Tools zu überwachen, die mit dem Ereignisprotokoll interagieren.

Hinweis

Für die Nachrichtenzeichenfolge der Methode "System.Diagnostics.EventLog.WriteEntry" gilt eine Größenbeschränkung. Wenn die Nachrichtenzeichenfolge 32.766 Bytes überschreitet, wird eine Ausnahme ausgegeben.

Schreiben in das Anwendungsprotokoll

Sie können in das Anwendungsprotokoll oder ein anderes Protokoll aus Ihrem Code schreiben, indem Sie System.Diagnostics.EventLog verwenden, wie im Folgenden gezeigt:

System.Diagnostics.EventLog.WriteEntry("Orchestration Debug", System.String.Format("The Value = {0}", iResult));  

Sie können auch folgendermaßen vorgehen:

EventLog appLog = new EventLog();   
appLog.Source = "This Application's Name";  
appLog.WriteEntry("An entry to the Application event log.");  

Wenn Sie ein benutzerdefiniertes Protokoll verwenden, sollten Sie die SourceExists-Methode verwenden, um sicherzustellen, dass es vorhanden ist, bevor Sie in das Protokoll schreiben.

Schreiben in ein benutzerdefiniertes Protokoll

Das Schreiben in benutzerdefinierte Protokolle funktioniert genauso wie das Schreiben in Anwendungsprotokolle. Das benutzerdefinierte Protokoll muss jedoch zuerst erstellt werden. Der Code zur Erstellung eines benutzerdefinierten Protokolls ist einfach:

// Create the source, if it does not already exist. if(!EventLog.SourceExists("MySource"))   
{   
  //An event log source should not be created and immediately used.  
  //There is a latency time to enable the source, it should be created  
  //prior to executing the application that uses the source.  
  EventLog.CreateEventSource("MySource", "MyNewLog");  
}  

Sie sollten jedoch nicht davon ausgehen, dass der Code unter einem Konto mit Sicherheitsberechtigung für das Erstellen eines neuen Ereignisprotokolls ausgeführt wird. Das Erstellen eines Ereignisprotokolls erfordert Administratorrechte und sollte mit einem eigenen Dienstprogramm oder am besten bei der MSI-Installation vorgenommen werden. Weitere Informationen zur Verwendung von benutzerdefinierten Skripts mit einer exportierten .msi Installation finden Sie unter Verwenden von Vor- und Nachverarbeitungsskripts zum Anpassen der Anwendungsbereitstellung.