Debugging-Scripts

Standardmäßig erfolgt die gesamte scriptbezogene Protokollierung mit der autoscript-Protokollfunktion. Jedes Script kann auf verschiedenen Protokollebenen wie DEBUG, INFO, ERROR usw. konfiguriert werden. Die Standardkonfiguration für jedes Script lautet ERROR.

Informationen zu diesem Vorgang

Angenommen, Sie möchten das folgende Script debuggen:
y=float(iplr)+float(olr)
if y!=float(plr):
  pnr=str(y)
Sie setzen die folgenden Debuganweisungen ein:
print "iplr="+iplr
print "olr="+olr
y=float(iplr)+float(olr)
print "y="+y
if y!=float(plr):
  pnr=str(y)
  print “pnr=”+pnr

Sie müssen sicherstellen, dass die Protokollebene für die autoscript-Protokollfunktion auf die Protokollebene des Scripts gesetzt ist. Setzen Sie beispielsweise beide auf INFO. Dies führt dazu, dass die Druckanweisungen im Systemausgabeprotokoll angezeigt werden. Falls erforderlich, können die von dieser Protokollfunktion erstellten Protokollanweisungen in eine dedizierte Protokolldatei umgeleitet werden, die nur scriptbezogene Protokollanweisungen enthält. Die Syntax der Druckanweisung hängt von der Sprache ab, mit der das Script geschrieben wird. Wenn die autoscript-Protokollfunktion nur auf Protokolle der Stufe ERROR gesetzt ist, werden die Druckanweisungen im Automationsscript nicht in eine Protokolldatei geschrieben.

Das Scripting-Framework protokolliert Informationen nach Abschluss des Scripts. Dadurch wird keine ideale Debugsitzung erstellt, insbesondere bei Scripts mit langer Laufzeit. Verwenden Sie die API-Gruppe service.log für die Protokollierung, während das Script ausgeführt wird. Sie können die Protokollfunktion im Geltungsbereich der einzelnen Scripts festlegen. Erstellen Sie eine Protokollfunktion mit dem Scriptnamen und legen Sie die Protokollebene entsprechend fest.

Die Protokollfunktion des Basisautomatisierungsscripts wird auf die Stufe ERROR gesetzt. Setzen Sie die Protokollebene ABC des Scripts in der Anwendung "Automationsscripts" auf INFO. Verwenden Sie den folgenden Script-Code:
service.log("hey there - I am in Asset "+mbo.getString("assetnum"))

Binden Sie dieses Script unter Verwendung des Objektstartpunkts an das ASSET-Initialisierungsereignis. Wenn Sie Assets initialisieren, beispielsweise aus der Listentabelle in der ASSET-Anwendung, sehen Sie dieses Protokoll nahezu in Echtzeit. Andere Scripts zeigen jedoch keine Protokolle an, da die Protokollfunktion nur für das Script ABC festgelegt ist.