Skip to main content
Skip table of contents

Logging und Fehleranalyse

Grundlagen

Treten während der Ausführung eines Prozesses Fehler auf, werden diese in der Datenbank für den jeweiligen Prozess protokolliert. Die Fehlerprotokolle sind direkt in der Detailsansicht des Prozesses im Tab Übersicht einsehbar.

Für jeden Fehler stehen u. a. folgende Informationen zur Verfügung:

  • Anlagedatum und -uhrzeit: Zeitpunkt des Auftretens des Fehlers

  • Kategorie des Fehlers: z. B. Skript-Aktion, Prozessstart usw.

  • Meldung: interne Meldung zum Fehler

  • Benutzer: ausführender Benutzer der Aktion, bei der der Fehler aufgetreten ist

Jeder Fehlereintrag kann aufgeklappt werden und enthält dann weiterführende Details:

  • Version: Version des ausgeführten Prozesses

  • Aktion & Aktions-ID: sprechender Name der Aktion aus dem technischen Modell und deren interne ID

  • Fehlermeldung & Fehler-ID: detaillierter Meldungstext (z. B. aus einem BPM-Skript) und die Fehler-ID zum gezielten Auffinden des Fehlers in den Log-Dateien

Das aktuell geltende Loglevel (siehe Abschnitt Skript-Logging) und die Datenbereinigung werden in den Prozessdetails eingestellt. Ein Speichern bei der Änderung des Log-Levels ist nicht notwendig.

image-20260209-111742.png

Datenbank-Protokollierung

Die Datenbank-Protokollierung von Fehlern während der Prozessausführung ist im Standard aktiv. Eine erweiterte Suche über die Protokollierung von Fehlern in Prozessen kann im Administrationsmenü unter Laufzeitdaten in der Entität Prozess-Fehlerprotokolle erfolgen.

Die Fehlerprotokollierung in der Datenbank sollte nicht abgeschaltet werden, da sonst Status-Informationen zu laufenden Prozess-Instanzen nicht korrekt angezeigt werden können.

Skript-Logging

In der Konfiguration zu CURSOR-BPM kann auch die Protokollierung aus dem Skript (Verwendung der Klasse ScriptUtils) in die Datenbank aktiviert werden. Diese Einträge tauchen mit der Kennzeichnung DEBUG, INFO oder ERROR auf und enthalten keinen Fehlermeldungstext.

Die Änderung des Loglevels auf DEBUG sollte nur temporär und nicht im produktiven Umfeld eingesetzt werden, da eine ausgiebige DEBUG-Protokollierung in Prozessen die Performanz des Systems stark beeinträchtigen kann!

Fehleranalyse

Um entsprechende Logmeldungen bei der Prozessausführung zu generieren, müssen die entsprechenden Befehle im Prozessskript aufgenommen werden.

Dabei werden Fehlermeldungen und Infos immer im Log ausgegeben:

  • StringUtils.error(String): Fehlermeldungen mit dem Präfix ERROR

  • StringUtils.info(String): Informationen mit dem Präfix INFO

Um nachzuvollziehen, welche Schritte vom Prozess durchgeführt wurden, können zusätzlich Debug-Nachrichten im Prozess-Skript ausgegeben werden.

  • ScriptUtils.enableDebug(boolean): Aktiviert die Ausgabe von Debug-Meldungen in der aktuellen Aktion

  • StringUtils.debug(String): Ausgabe von Meldungen mit dem Präfix DEBUG

Log-Dateien aufrufen

Über das Dreipunkte-Menü in der Web Client-Toolbar können mit den notwendigen Admin-Berechtigungen die Log-Dateien aufgerufen werden.

Beim Export kann über den Änderungszeitraum eingeschränkt werden, welche Dateien geladen werden. Mit einem Klick auf Download-20230526-115910.svg Herunterladen wird der aktuelle Stand der Log-Dateien exportiert.

Der Dateispeicherort hängt von den Einstellungen im Browser ab (meist der lokale Download-Ordner).

image-20260216-171531.png

Logging der Prozessausführung

Die Prozessausführung kann zusätzlich im Applikationsserver in einer eigenen Log-Datei protokolliert werden. Das Logging kann über die Kommandozeile im Applikationsserver aktiviert werden.

CODE
> jboss\bin\jboss-logging.bat processExecution true

Die Log-Datei zeigt nun die verschiedenen Ausführungspunkt eines Prozesses.

CODE
//Starten des Prozesses
start process    <processid> <user>   
start actionbox  <processid> <user>
start maskscript <processid> <user>
start manual     <processid> <user>
start process    <processid> <user> <instanceid> successfull
 
//Weiterführen einer Benutzeraktion
complete task    <processid> <user> <instanceid>
complete task    <processid> <user> <instanceid> successfull
 
//Weiterführen eines Nachrichtenereignisses (Webservice, Mail)
resume process   <executionId> <user>
resume process   <executionId> <user> successful
 
//Weiterführen über Zeitaktion
process timer    <processDeploymentId> <instanceid>
 
//Ende des Prozesses
end process      <processDeploymentId> <instanceid>

Logging vermehrter Skript-Aktionen

Um Performance-Probleme durch laufenden Prozesse besser in der Anwendung verfolgen zu können, wurde ein spezielles Logging für die Ausführung von Skriptaktionen eingeführt. Überschreitet eine Aktion die Ausführungshäufigkeit von 90 Durchläufen in 15 Minuten, so wird dies im Server-Log protokolliert und als Service-Mail an den Empfänger von System-Mails versendet. Der Schwellenwert von 90 Durchläufen kann global auf Anforderung des Kunden angepasst werden.

Dies kann im BPM-Dashboard über das Dreipunkte-Menü in den Allgemeinen Einstellungen geändert werden.

image-20260216-170644.png
image-20260216-170543.png

Falls einige spezielle Prozesse einen anderen Schwellwert benötigen, um zu häufige Service-Mails zu vermeiden oder hierfür schneller reagieren können, ist eine Anpassung des Schwellenwertes pro Prozess in den Anwendungsvariablen möglich. Hierfür wird ein neuer Eintrag in den Process Preferences vom Typ ScriptCounterThreshold angelegt. In der Eigenschaft muss die Process-ID vermerkt und der Wert passend gewählt werden.

image-20260216-171415.png

Wurde der Schwellenwert überschritten, so wird dies im ProcessExecution.log vermerkt. Die Benachrichtigung erfolgt pro Prozessaktion maximal einmal in der Stunde, beispielhaft:

CODE
2026-01-27 06:13:44,114 ERROR [ProcessExecution] Too many script executions in 15min for [Process: C0PerformanceTest(19|C0) 'Performance-Test'] [Instance: 16cd1cc4-504f-11e9-901f-4cedfb672e62] [Task: cid_96d6sp1brvvdpsiScriptTaskProperty 'Schleifendurchläufe'][User: ADMIN as ADMIN] - 61 > 60

Wurde die Service-Mail-Adresse und Service-Mail-Konfiguration im System hinterlegt, so wird parallel zum Log-Eintrag der Empfänger von System-Mails über die zu häufige Ausführung der Prozess-Aktion per Mail informiert.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.