Hallo zusammen,
in unseren Projekten haben wir häufig die Anforderung auch in Templates Fehler oder Info Logging zu implementieren.
Einfach um beispielsweise Feldprüfungen und die daraus resultierenden Ergebnis besser im Log lesbar und somit verständlicher zu machen.
Momentan setzen wir dabei auf folgenden Code-Schnipsel:
| | $CMS_SET(void,#global.logInfo("Element is not valid for '"+p_reference.uid+"'. Skipping element." ))$ |
Dies hat leider den Nachteil, dass die Zeile zweimal ausgegeben wird. Einmal der Quelltext und anschließend mit Werten. Zudem sieht es im Code nicht schön aus wenn ein $CMS_SET()$ für etwas anderes verwendet wird als eine Variable zu setzen.
Daher würde ich mir das Folgende als mögliche Implementierung vorstellen:
| | // Log mit Nachrichtenformat $CMS_LOG(level:"info", messageFormat:"Element is not valid for '{0}'. Skipping element from output '{1}'.", messageObjects:[p_reference.uid, param2])$ // Einfaches log $CMS_LOG(level:"debug", message:"Element is not valid for. Skipping element.")$ |
Das Ergebnis sollte ein Logeintrag im Generierungslog sein. Um die Analyse des Logs später etwas zu vereinfachen sollte in der Logausgabe automatisch auch immer drin stehen welches Template den Logeintrag generiert hat.
Damit könnte man Templateweite Log-Einträge implementieren um auch fachliche Anforderungen an die Templates besser im Log zu visualisieren.
Viele Grüße
Oliver Granseier