Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > Übersicht tags
Diese Dokumentation enthält allgemeine Hintergrundinformationen zur Verwendung von JavaScript in agorum core.
Hinweis: In agorum core wird JavaScript in einer serverseitigen Umgebung ausgeführt. Dadurch unterscheidet sich die verfügbare JavaScript-Syntax teilweise von der Syntax, die in Browsern/Node.js zum Einsatz kommt. Verwenden Sie in agorum core nur Konstrukte, die in der agorum core Dokumentation beschrieben sind bzw. in agorum core Beispielen verwendet werden.
agorum core führt JavaScript in der Regel serverseitig aus. Das hat etwa folgende Auswirkungen:
sc, sca) ist vom Ausführungskontext abhängig, siehe Erste Zeile eines JavaScripts. Bibliotheken werden über require(...) eingebunden.Ein typisches agorum core Skript folgt einer klaren Struktur:
require).In der agorum core JavaScript API müssen Objekte häufig über eine Kennung referenziert werden (z. B. beim Laden, Verknüpfen, Verschieben oder beim Zugriff auf Inhalte/Metadaten).
In dieser Dokumentation verwenden wir dafür den Begriff Objekt‑ID als Sammelbegriff für alle von agorum core akzeptierten Objektkennungen.
12345.Typische Formate einer Objekt‑ID sind:
12345) – eindeutige Kennung.714f1580-ce62-11e0-b47a-0800276e2399) – eindeutige, systemweit stabile Kennung./agorum/...) – werden in einigen Kontexten verwendet bzw. in technische IDs aufgelöst (je nach Funktion).home:..., user:...) – werden von agorum core kontextabhängig aufgelöst.Für produktive, nachvollziehbare Protokollierung (z. B. mit Severity-Level, Details, Sticky-Einträgen) sollten Sie das strukturierte Logging über agorum.dev/js/lib/logger verwenden. Für die schnelle Diagnose während der Entwicklung können Sie zudem Ausgaben über console.* erzeugen. Die Log-Ausgaben erscheinen in den System-Logs (Support Tool) sowie, je nach Kontext, in der Skript-Konsole, in der Browser-Konsole oder im Workflow-Protokoll.
Verwenden Sie console, um während der Ausführung Werte und Statusinformationen auszugeben (z. B. beim Debugging, bei der Entwicklung oder zur Nachvollziehbarkeit von Skriptabläufen).
Die folgenden Funktionen stehen zur Verfügung:
| Funktion | Verwendung (kurz) |
|---|---|
console.debug() |
Detaillierte Debug-Ausgaben für Diagnosezwecke (z. B. Zwischenschritte, interne Zustände). Das Debugging muss dafür zunächst im Support Tool durch Setzen des Log-Levels Debug unter Base System > Sub Statistics > Engine Factory aktiviert werden, siehe Schaltflächen im Log. |
console.info() |
Allgemeine Status-/Info-Meldungen (z. B. „Import gestartet“, „Verarbeitung abgeschlossen“). |
console.log() |
Standardausgabe für Debugging/Entwicklung (allgemeine Ausgaben ohne spezielles Level). |
console.warn() |
Warnungen bei unerwarteten, aber nicht unbedingt fatalen Situationen (z. B. fehlende optionale Daten, Fallback wird genutzt). |
console.error() |
Fehlerausgaben für fehlgeschlagene Operationen (z. B. Exception im catch). |
console.assert(condition, ) |
Prüft eine Bedingung und loggt nur, wenn sie false ist (hilfreich für Annahmen/Invariant-Prüfungen). |
console.trace() |
Gibt zusätzlich einen Stacktrace aus (hilfreich, um Aufrufketten zu verstehen). |
console.clear() |
Leert die Ausgabe |
Beispielverwendung
console.debug('test debug');
console.info('test info');
console.log('test log');
console.warn('test warn');
console.error('test error');
console.assert(false, 'test assert');
console.trace('test trace');
// console.clear();
console;
//returns:
/*
{
"warn" : { },
"trace" : { },
"debug" : { },
"log" : { },
"assert" : { },
"_aguila" : true,
"clear" : { },
"error" : { },
"info" : { }
}
*/
Achtung: Verwenden Sie console.* nicht für produktives, dauerhaftes Logging. Nutzen Sie für nachvollziehbare Protokollierung stattdessen die Logging-Funktionen von agorum core.
Für produktive Systeme (Monitoring, Auditing, Troubleshooting) sollten Sie nicht auf Browser-Ausgaben setzen, sondern ein strukturiertes Logging verwenden. agorum core stellt dafür eine eigene Bibliothek bereit: agorum.dev/js/lib/logger