Logging
Die ou.sp.Logging ist eine Wrapper Klasse für die otrLogger Klasse von otris.
Vorteile:
- Automatische Ausgabe der FileId (
context.fileoder per Parameter) - Einmalige Angabe der Kategorie (Siehe
use) - Logs pro Instanz werden im Hintergrund gespeichert und können per
toString()odertoJSON()ausgelesen werden.
Alle Funktionen sind hier beschrieben.
Voraussetzung
Zunächst muss das LogLevel eingestellt werden. Dazu muss im D5 Manager unter Documents / Einstellungen / Eigenschaften ein neuer Eintrag hinzugefügt werden.

Verwendung
Die Logger-Klasse kann sehr einfach über die use Funktion initialisiert werden:
Die use Funktion
Logging.use(category: string): Logging;
Beispiel:
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
debug
Erzeugt einen DEBUG Log-Eintrag.
debug(message: string, fileOrFileId?: DocFile | string);
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.debug("Some debug message", "fileId-12345");
Erzeugt folgenden Eintrag in der Log-Datei:
→ Client 940: 102008: [T940] DEBUG someCategory fileId-12345 Some debug message.
info
Erzeugt einen INFO Log-Eintrag.
info(message: string, fileOrFileId?: DocFile | string);
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.info("Some info message", docFile);
Erzeugt folgenden Eintrag in der Log-Datei:
→ Client 940: 102008: [T940] INFO someCategory fileId-12345 Some info message.
warn
Erzeugt einen WARNING Log-Eintrag.
warn(message: string, fileOrFileId?: DocFile | string);
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.warn("Some warn message", docFile);
Erzeugt folgenden Eintrag in der Log-Datei:
→ Client 940: 102008: [T940] WARN someCategory fileId-12345 Some warning message.
error
Erzeugt einen ERROR Log-Eintrag.
error(message: string, fileOrFileId?: DocFile | string);
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.error("Some error message", docFile);
Erzeugt folgenden Eintrag in der Log-Datei:
→ Client 940: 102008: [T940] ERROR someCategory fileId-12345 Some error message
→ Name: Error
→ Script: otrLogger
→ Line: 737
→ Column: 6
→ Stacktrace:
→ logAsException@otrLogger:737
→ @otrLogger:375
→ Logging.prototype.log@ou.sp.Logging:436
→ Logging.prototype.error@ou.sp.Logging:369
→ __Janus_0@ou.sp.example:4
→ .
fatal
Erzeugt einen FATAL Log-Eintrag.
fatal(message: string, fileOrFileId?: DocFile | string);
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.fatal("Some fatal message", docFile);
Erzeugt folgenden Eintrag in der Log-Datei:
→ Client 940: 102008: [T940] FATAL someCategory fileId-12345Some fatal message
→ Name: Error
→ Script: otrLogger
→ Line: 737
→ Column: 6
→ Stacktrace:
→ logAsException@otrLogger:737
→ @otrLogger:432
→ Logging.prototype.log@ou.sp.Logging:440
→ Logging.prototype.fatal@ou.sp.Logging:380
→ __Janus_0@ou.sp.example:4
→ .
time / timeEnd
Startet/Beendet einen Timer mit dem angegebenen Namen.
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.time("timer1");
// ...
logger.timeEnd("timer1");
Erzeugt folgenden Eintrag in der Log-Datei:
→ Client 962: 102008: [T962] INFO Timer The operation "timer1" took 1 ms..
toString
Gibt alle Logs aus der aktuellen Instanz als String zurück.
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.debug("Some debug message", "fileId-12345");
logger.info("Some info message", "fileId-12345");
context.returnValue = logger.toString();
Gibt folgenden String zurück
"DEBUG: (someCategory) Some debug message\nINFO: (someCategory) Some info message"
toJSON
Gibt alle Logs aus der aktuellen Instanz als String zurück.
context.enableModules();
const { Logging } = require("ou.sp.Logging");
const logger = Logging.use("someCategory");
logger.debug("Some debug message", "fileId-12345");
context.returnValue = logger.toJSON();
Gibt folgenden String zurück
[{
"message": "Some debug message",
"level": "DEBUG"
}]