Kettle bietet diverse Möglichkeiten zum Logging und zur Fehlerbehandlung:
- Logausgabe von Spoon / Kitchen
- In Jobs kann man diese verfeinern mit dem "Write to log"-Step
- Eine Transformation kann
- die Logausgabe in einer dezidierten Logdatei speichern bzw. erweitern
- im Aufruf eines Jobs in eine Fehlerbehandlung laufen
Das folgende Beispiel zeigt die Nutzung, im Job wird eine Logdatei angelegt, und dann schreiben die einzelnen Transformationen in diese Logdatei. Diese wird dann am Ende per Mail als Anhang verschickt - egal ob es mit Fehler oder erfolgreich war:
Im ersten Schritt wird die Logdatei "ladejob.log" angelegt bzw. geleert, wenn sie schon existiert:
Die erste "Set variables"-Transformation wird im Reiter "Logging" so konfiguriert, dass die Ausgabe in die Logdatei "ladejob.log" geloggt wird.
Ergänzend wollen wir auch die gesamt-Logausgabe des Jobs um eine Zeile erweitern, die die übergebene Mailkennung aus der kettle.properties ausgibt:
Danach wird eine Transformation erstellt, die Postgres-spezifische Systemvariablen
- selektiert und
- das Ergebnis in die Logdatei schreibt
Da diese Operation aus der Datenbank liest und ggf. Fehler bewirken kann, wird neben der normalen Erfolgs-Ausgabe ein "Fehlerkanal" eingerichtet, der eine entsprechende Fehler-Mail verschickt:
Im Reiter "Attached files" wird die Logausgabe des Jobs angehängt:
Unser Job arbeitet von nun an mit einer Fehler- und Logbehandlung.
Mit den "Logleveln" können Sie wählen wie detailliert geloggt wird. Möglich sind:
- Nothing
- Error
- Minimal
- Basic (dies ist der Default)
- Detailed
- Debug
- Row level (Achtung: erzeugt viele Logeinträge)