major
minor
defect
major
minor
minor
#29089
TL-Script-Funktionen log() und info() um wählbaren Meldungs-Level (INFO, WARN, ERROR) erweitern
Die TL-Script-Funktionen log() (schreibt einen Eintrag in das Anwendungs-Log) und info() (zeigt eine Meldung in der Oberfläche an) können aktuell ausschließlich Meldungen der Stufe INFO erzeugen.
Je nach Situation müssen jedoch auch Warnungen und Fehler protokolliert bzw. dem Benutzer angezeigt werden. Ohne diese Möglichkeit lassen sich z.B. Validierungs- oder Verarbeitungsprobleme aus einem Skript heraus nicht in der passenden Dringlichkeit melden.
Daher erhalten beide Funktionen einen zusätzlichen, optionalen Parameter, mit dem der Level der Meldung festgelegt werden kann. Die Erweiterung erfolgt migrationsfrei: bestehende Aufrufe verhalten sich unverändert (Level INFO).
Umsetzung
- Neuer optionaler Parameter level (Zeichenkette, Groß-/Kleinschreibung wird ignoriert).
- log() unterstützt die Level debug, info, warn, error, fatal und schreibt mit der entsprechenden Log-Stufe in das Anwendungs-Log.
- info() unterstützt die Level info, warn, error (debug wird als Info, fatal als Fehler dargestellt) und stellt die Meldung mit der passenden Formatierung dar.
- Da log() beliebig viele Format-Argumente akzeptiert, wird der Level dort ausschließlich als benannter Parameter übergeben:
{{{#!java log('Speicher fast voll: {0}%', $prozent, level: 'warn') }}}
- Bei info() kann der Level als dritter (positionaler) oder als benannter Parameter angegeben werden:
{{{#!java info('Import beendet', 'Mit 3 Warnungen', 'warn') }}}
Konsolidiert #27788.