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