Zum Hauptinhalt springen

Logging

Die ou.sp.Logging ist eine Wrapper Klasse für die otrLogger Klasse von otris.

Vorteile:

  • Automatische Ausgabe der FileId (context.file oder per Parameter)
  • Einmalige Angabe der Kategorie (Siehe use)
  • Logs pro Instanz werden im Hintergrund gespeichert und können per toString() oder toJSON() ausgelesen werden.
tipp

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.

typings

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"
}]