Dies ist eine alte Version des Dokuments!
Protokollierung in CO
Die Protokollierung in Concept Office wurde grundlegend überarbeitet. Bisher wurden Protokolle in verschiedene Textdateien geschrieben. Diese Möglichkeit besteht weiterhin, kann jedoch durch den Anwender deaktiviert werden. Die Protokollierung wurde mit dem Open Source Tool „Serilog“ implementiert. Für den Anwender ergibt sich der Vorteil, dass er besser steuern kann, welche Protokolle (steuerbar über sog. Senken) in welcher Ausführlichkeit erstellt werden. Außerdem ist es möglich, Protokolle besser auszuwerten, da sie strukturiert vorliegen. D.h. , bisher konnten die Protokolle nur durch eine Textsuche ausgewertet werden, künftig z.B. mittels Sql- oder JSON-Abfragen oder mittels des Web-Tools „Seq“ (https://datalust.co/).
Einstellungsmöglichkeiten: Im CO-Konfigurationsmanager gibt es auf der Registerkarte „Protokoll“ folgende Einstellungsmöglichkeiten (zuvor muss der Button „Änderungen erlauben“ geklickt und mit bekanntem Passwort die Funktion temporär freigeschaltet werden):
ACHTUNG: Bitte mit Vorsicht und unter Beobachtung z.B. für SQL Server die Tabelle „LogEvents“ die Log-Level-Schalter konfigurieren! Eine zu detaillierte Protokollierung mit langer Löschfrist kann den SQL Server stark beeinträchtigen bzw. Stoppen! * Logeinträge ab Level: Filtert die Logeinträge aller Senken. Wird hier z.B. „Warnung“ eingetragen und unter JSON „Info“, dann werden trotzdem auch in JSON nur Einträge ab Level „Warnung“ geloggt. * JSON: Ausgabe in einer Textdatei im JSON-Format. * Notepad: Ausgabe in einer aktiven Notepad-Instanz. Sollte nur vorübergehend aktiviert werden. * SQL Server: Ausgabe auf die aktuelle Datenbank in die Tabelle „LogEvents“
- Seq: Ausgabe auf einen Webserver, kann mit dem Tool „Seq“ (https://datalust.co/) abgefragt werden.
- Text: Ausgabe als Textdatei.
Textlog im alten Format: gibt die Logs mit dem bisher verwendeten Verfahren in Textdateien aus.
Die Einstellungen werden in der Datei „Office.Dat“ gespeichert und gelten für alle Nutzer.
Folgende Log-Level sind verfügbar:
- Aus:_ es wird keine Loginformation auf diese Senke ausgegeben * Ausführlich: es werden alle Loginformationen ausgegeben. Sollte nur zur Fehlersuche aktiviert werden, wenn Debug nicht ausreichend ist. * Debug: es werden Loginformationen zur Fehlersuche ausgegeben. * Information: gibt interessante Loginformationen aus. Sollte als Standard für SQL Server und Seq eingestellt werden. Wird dieser Level für Textdateien aktiviert, so können diese unter Umständen sehr groß werden. * Warnung: gibt Loginformationen bzgl. möglicher Probleme aus. * Fehler: gibt Loginformationen zu Fehlern und unerwarteten Situationen aus. * Kritisch: gibt Loginformationen zu kritischen Fehlern aus. Auswertung von Protokollen Protokolle können in verschiedenen Formen mit jeweils speziellen Auswertungsmöglichkeiten erstellt werden. JSON: Siehe z.B. https://github.com/serilog/serilog-formatting-compact SQL Server: In der Tabelle „LogEvents“ sind folgende Spalten verfügbar:
- Id: fortlaufende Nummer
- Message: Die Meldung mit aufgelösten Parametern z.B. „Testnachricht Auftrag: 3, Position: 2“
- Message Template: die Meldung, ohne dass Parameter aufgelöst wurden (z.B. „Testnachricht Auftrag: {Auftragsnummer}, Position: {Positionsnummer}“. Hierdurch kann z.B. auf bestimmte Meldungen gefiltert oder gruppiert werden.
- Level: Log-Level in Textform
- TimeStamp: Zeitpunkt, zu dem die Meldung erstellt wurde
- Exception: zusätzliche Daten, wenn eine Ausnahme (Exception) auftrat.
- LogEvent: weitere Daten im JSON-Format. Diese können in eine SQL-Abfrage eingezogen werden
- UserName: Benutzername
- MachineName: Rechnername
- AppVersion: Anwendungsversion
- OperatingSystem: Betriebssystem
- ProtocolType: CO-Protokollname
- FileName: Name der Datei, in welche der Protokolleintrag im Dateisystem geschrieben worden wäre
- Client: Mandant
- MemberName. SourceFiIepath, SourceLineNumber: Informationen zur Funktion, welche den Protokolleintrag generierte
- Auftragsnummer. Bestellnummer, Positionsnummer: häufig benutzte Parameter. Diese können direkt (ohne Verwendung von JSON) abgefragt werden. Alle weiteren Parameter werden als JSON bereitgestellt. Auf Wunsch können weitere Parameter-Spalten erstellt werden.
Auf diese Tabelle können Abfragen mit der CO-Recherche erstellt werden. Die Einträge werden durch Concept Office automatisch nach 2 Monaten gelöscht.
Seq: Logeinträge werden an Seq übergeben. Hierzu muss ein entsprechender Webserver aufgesetzt werden. Weitere Informationen befinden sich hier: https://datalust.co/ Bei einer lokalen Seq-Installation können die Events im Browser mit http://localhost:5341/#/events abgefragt werden.

