Logging-Einstellungen

Ab v2.0.0.

Der optionale Abschnitt logging der Einstellungsdatei legt den Log-Ordner, Größe, Anzahl und Alter der Logdateien sowie das Log-Level der Konsole und jedes Loggers fest. Ein fehlender Schlüssel behält den Standardwert von LumiScan VGR, sodass "logging": {"level": "DEBUG"} nur das Level ändert. Das Schema des Abschnitts ist logging.schema.json.

"logging": {
    "logDir": "",
    "level": "INFO",
    "flushLevel": "INFO",
    "duplicateFilterSeconds": 600,
    "console": { "enabled": true, "stream": "STDOUT" },
    "file": { "enabled": true, "dailyDirectories": true, "maxFileSizeMb": 5, "maxFiles": -1, "retentionDays": 30 },
    "loggers": {
        "ProcessResult": { "level": "DEBUG", "file": { "maxFiles": 5, "retentionDays": 15 } }
    }
}
Schlüssel Bedeutung

logDir

Der oberste Ordner aller Logdateien. Leer: <HDVAppData>\LumiScan VGR\logs (siehe Generierte Daten und Dateien).

level, flushLevel

TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL oder OFF. Meldungen ab dem Flush-Level werden sofort in die Datei geschrieben.

duplicateFilterSeconds

Gleiche aufeinanderfolgende Meldungen werden so viele Sekunden lang verworfen; 0 schaltet den Filter aus.

console

enabled und stream (STDOUT oder STDERR).

file.dailyDirectories

true: jeden Tag ein neuer Unterordner, <logDir>\<YYYY-MM-DD>\<logger>.log. false: eine rotierende Datei pro Logger, <logDir>\<logger>.log.

file.maxFileSizeMb, file.maxFiles

Die Größe, bei der eine Datei rotiert wird, und die Anzahl der aufbewahrten Dateien pro Logger (pro Tag bei dailyDirectories); -1 für beliebig viele.

file.retentionDays

Logs, die älter als so viele Tage sind, werden gelöscht. 0 bewahrt alles auf.

loggers

Einstellungen einzelner Logger nach Namen: LumiScanVGR (Haupt-Log), ProcedureCallLogger, ProcessResult und Deprecated.

Jeder Ordner mit dem Namen YYYY-MM-DD in logDir gilt als Log-Tag und wird gelöscht, wenn er älter als retentionDays ist. Verwenden Sie den Ordner nicht für andere Daten.

Einstellungsdatei überschreiben

Dieselben Schlüssel kann der Benutzer in %LOCALAPPDATA%\HD Vision Systems GmbH\LumiScan VGR\logging.json und für einen einzelnen Lauf über Umgebungsvariablen setzen. Diese überschreiben die Einstellungsdatei in folgender Reihenfolge (höchste zuerst):

  1. HDV_LOG_LEVEL und HDV_LOG_FLUSH_LEVEL: Level und Flush-Level aller Logger.

  2. HDV_LOG_LEVELS (z. B. ProcessResult=trace,Deprecated=warn) und <LOGGER>_LOG_LEVEL: einzelne Logger. HDV_LOG_DIR legt den Ordner fest.

  3. Die Benutzerdatei logging.json oder die von HDV_LOG_CONFIG angegebene Datei.

  4. Der Abschnitt logging der Einstellungsdatei, danach die Standardwerte von LumiScan VGR.

Die Einstellungen werden beim Start von LumiScan VGR gelesen; eine Änderung wird nach einem Neustart wirksam. Die ersten Zeilen eines Starts, bevor die Einstellungsdatei gelesen ist, werden mit den Standardwerten geschrieben.

Die Logger von LumiScan VGR werden auch von der Kamerabibliothek und den Kamera-Plugins verwendet, sodass deren Meldungen diesen Einstellungen folgen und in denselben Logdateien stehen. Nur das Log LumiScanAPI, das die LumiScan API selbst in <HDVAppData>\LumiScanAPI\logs führt, ignoriert sie.