Logging
Für das Logging sind verschiedene Ziele definierbar. Die Ziele können alternativ oder parallel genutzt werden.
Die verschiedenen Ziele sind erst verfügbar, wenn die Logging-Optionen erfolgreich aus der globalen Konfiguration eingelesen wurde. Wenn beim Programmstart vor oder während des Lesens der Konfigurationsdaten ein Fehler auftritt, erfolgt die Log-Ausgabe in die folgenden Standardziele:
Konsole
Windows-Ereignisanzeige
Log-Datei
xSuiteInterface5.logWenn keine Schreibrechte vorhanden sind, wir die Datei im Temporärverzeichnis des ausführenden Benutzerkontos erstellt.
In die Windows-Ereignisanzeige und in die Log-Datei werden ausschließlich Fehlermeldungen geschrieben, die beim Start auftreten. In die Konsole werden auch sonstige Startmeldungen geschrieben.
Bei Start-Problemen des Windows-Dienstes kann es hilfreich sein, das Programm zunächst als Konsolenanwendung auszuführen und die zusätzlichen Startmeldungen zu beachten. Dabei ist zu berücksichtigen, dass für die beiden Ausführungsarten in der Regel unterschiedliche Konten verwendet werden (Dienstkonto oder interaktives Benutzerkonto). Die verschiedenen Ausführungsarten können zu einem abweichenden Programmverhalten führen, z. B. aufgrund unterschiedlicher Berechtigungen oder fehlenden Laufwerksverknüpfungen im Kontext des Dienstkontos.
Eigenschaft | Beschreibung |
|---|---|
Logging.Level | Detailgrad des Loggings in absteigender Reihenfolge:
Der Grad Der Grad |
Logging.File | Pfad der Log-Datei, wenn die Protokollierung in eine solche Datei erfolgt Durch Einbindung der Variablen Die Variablen |
Logging.OpenFileInNpp | Wahrheitswert, ob die Log-Dateien, die über Standardwert: Voraussetzungen:
Diese Option ist nicht für den laufenden Betrieb ausgelegt. Das automatische Öffnen der Dateien im Texteditor dient zur Unterstützung bei der Erstellung einer neuen Konfiguration und bei der Problemanalyse. Wenn diese Option verwendet wird, wird eine neue Instanz des Texteditors gestartet und jede Log-Datei wird bei der ersten Verwendung innerhalb des aktuellen Programmlaufs in dieser Instanz geöffnet. Das Öffnen der Datei erfolgt im Monitoring-Modus. In diesem Modus wird die Anzeige bei jeder Dateiänderung automatisch aktualisiert. Die Dateianzeige verhält sich dadurch im Texteditor ähnlich wie die fortlaufenden Log-Ausgaben im Konsolenfenster. Die Informationen aller parallelläufigen Worker-Instanzen werden jedoch im Gegensatz zur Anzeige im Konsolenfenster nicht in dasselbe Fenster ausgegeben. Wenn die Log-Dateien entsprechend separiert sind, werden die Dateien je Worker in einem eigenen Editor-Tab angezeigt. Dies erhöht die Lesbarkeit der Log-Ausgaben. |
Logging.Database | optionale Konfiguration einer Datenbankverbindung, wenn die Protokollierung in eine Datenbanktabelle erfolgt Die untergeordneten Konfigurationseigenschaften und die unterstützten Datenbanksysteme entsprechen denen unter der Eigenschaft Die Anzeige von Log-Einträgen im Statusmonitor beruht auf dem Datenbank-Logging (siehe Eigenschaft Das Logging über die interne Verbindung erfolgt mandantenspezifisch in die jeweilige Datenbank. Nur globale Einträge werden unter einem separaten Datenbanknamen mit einem in Suffix für den Pseudo-Mandantennamen "Global" geschrieben. Bei der Protokollierung in eine externe Datenbank findet von xSuite Interface keine Mandantentrennung statt. Alle Einträge landen in derselben Tabelle und können nur über ein entsprechendes Tabellenfeld nach Mandanten unterschieden werden. Außerdem können solche Log-Einträge nicht über den internen Statusmonitor eingesehen werden und eine interne Makrofunktion zum Löschen alter Log-Einträge kann ebenfalls nicht auf die externe Datenbank zugreifen. |
Logging.ToConsole | Wahrheitswert, ob eine Ausgabe von Logdaten im Konsolenfenster erfolgen soll, wenn das Programm als Konsolenanwendung ausgeführt wird Standardwert: |
Logging.ToEventLog | Wahrheitswert, ob eine Ausgabe von Logdaten in die Windows-Ereignisanzeige erfolgen soll Diese eine Ausgabe von Logdaten beschränkt sich grundsätzlich auf Meldungen der Typen "Warning" und "Error". Standardwert: |
Logging.EventLogErrorsOnly | Wahrheitswert, ob die Ausgabe von Logdaten in die Windows-Ereignisanzeige nur für Meldungen vom Typ "Error" erfolgen soll (und nicht auch für "Warning") Standardwert: |
Logging.LogStackTrace | Wahrheitswert, ob bei Fehlermeldungen auch ein Stack Trace ausgegeben wird Ein Stack Trace ist umfangreich, kann aber für die entwicklungsseitige Fehleranalyse hilfreich sein. Standardwert: |
Logging.Mail | optionale Konfiguration einer Mailserver-Anbindung, wenn für Meldungen vom Typ "Warning" und/oder "Error" eine Statusmeldung per E-Mail verschickt wird Die grundlegenden Verbindungsparameter entsprechen den Parametern unter Mailserver-Anbindung, beschränkt auf die für ausgehende Mails nutzbaren Schnittstellen oder Protokolle EWS, Graph, Gmail und SMTP. Hinzu kommen nachfolgende Eigenschaften, die spezifisch für diesen Kontext sind. |
Logging.Mail.From(*) | Mail-Adresse des Absenders Diese Eigenschaft ist nur für das SMTP-Protokoll relevant. In allen anderen Fällen wird die Mail-Adresse implizit anhand der Benutzeranmeldung gesetzt. |
Logging.Mail.To[]* Logging.Mail.Cc[] Logging.Mail.Bcc[] | Mail-Adressen der primären Empfänger und der optionalen CC-/BCC-Empfänger |
Logging.Mail.Subject Logging.Mail.Body | individuelle Inhalte des Betreff-Feldes und des Nachrichtentextes Beide Felder sind mit einem Standardtext vorbelegt. Folgende Variablen sind nutzbar:
|
Logging.Mail.EventIdFilter Logging.Mail.TextFilter | optionale Filter für Ereignisklassen und Textinhalte Syntax: siehe Syntax von Namensfiltern Diese Filter beschränken den Mail-Versand auf Meldungen bestimmter Ereignisklassen oder Textinhalte oder klammern bestimmte, nicht relevante Meldungen explizit aus. |
Logging.Mail.ErrorsOnly | Wahrheitswert, ob der Mail-Versand nur für Meldungen vom Typ "Error" erfolgen soll Für Meldungen vom Typ "Warning" werden dann keine E-Mails versendet. Standardwert: |
Logging.Mail.LogBufferSize | maximale Anzahl von Logzeilen, die zwischengespeichert werden Um weitere Kontextinformationen zu einem Fehler zu liefern, können Log-Meldungen, die vor dem Fehlerauftritt generiert wurden, intern zwischengespeichert und als Dateianlage an die E-Mail angefügt werden. Standardwert: |