Wichtige Instrumente während der Implementierung einer Systemaktivität sind das Debugging und die Fehlerbehandlung. Über die üblichen Standard-Methoden in PHP hinaus (z.B. echo, print_r, etc.) bietet die API eine Möglichkeit, Debug-Informationen in eine eigens dafür vorgesehene Log-Datei zu schreiben. Diese wird im JobRouter-Basisverzeichnis unter output/log/<systemActivityId>_<date>.log gespeichert.
In Abhängigkeit der JobRouter-Konstante CONST_LOG_LEVEL_FILE, welche in der config.php hinterlegt sein muss, werden anhand der API-Methoden debug und error entsprechende Meldungen in die Datei geschrieben. Nun möchten wir prüfen, ob der zuvor ausgelesenen Parameter mit der Einstellung in der Oberfläche übereinstimmt. Dazu öffnen wir zunächst die config.php und setzen den Wert der entsprechenden Konstante:
Inhalt der config.php
<?php
...
define('CONST_LOG_LEVEL_FILE', 'DEBUG');
Danach fügen wir eine Zeile Programmcode zur Basisklasse hinzu.
Implementierte Debug-Ausgaben
<?php
class csvSystemActivity extends AbstractSystemActivityAPI
{
...
protected function exportCsv()
{
$fieldDelimiter = $this->resolveInputParameter('fieldDelimiter');
$this->debug('Trennzeichen: '.$fieldDelimiter);
}
}
Führt man die Systemaktivität aus, wird nun ein Eintrag in der entsprechenden Log-Datei erzeugt, der das aktuelle Datum, den Log-Status, die JobRouter-Version und die Ausgabe des Trennzeichens enthält.