- Thomas Pollinger
- 12.10.2016
- DE
Schon gewusst? "Anpassung der Log-Level für Standardkomponenten"
Tag für Tag große Log-Dateien, teilweise mehrere 100MB, nur warum? Ist mein System noch gesund oder was ist da los? Dieser Artikel soll eine Vorstellung vermitteln, wie man im Management (RedDot CMS) Server den richtigen Log-Level sich zu nutze machen kann...
Welche Log-Level gibt es denn im System?
Aktuell, sofern man der Dokumentation von Release 16 folgt, gibt es die Log-Level DEBUG, INFO, WARN, ERROR. Ob auch die für log4Net üblichen Log-Level ALL, TRACE, FATAL und OFF funktionieren, findet sich in der Dokumentation leider nicht.
- DEBUG: allgemeines Debugging (Auffinden von Fehlern)
- INFO: allgemeine Informationen (Programm gestartet, Programm beendet, Verbindung zu Host Foo aufgebaut, Verarbeitung dauerte SoUndSoviel Sekunden …)
- WARN: Auftreten einer unerwarteten Situation
- ERROR: Fehler (Ausnahme wurde abgefangen. Bearbeitung wurde alternativ fortgesetzt)
Wo stelle ich die Log-Level denn ein?
Die Log-Level des Management Servers werden unter:
OpenText\WS\MS\Configuration\logging.config
eingestellt. Dort befindet sich die zentrale Möglichkeit für alles was im System interessant ist, den Log-Level entsprechend korrekt einzustellen. Diese Datei sieht wie folgt aus:
Für welche Komponenten kann ich den Log-Level verändern?
Man kann hier für die folgenden Standardkomponenten vom Management Server (Logger-Einträge) die Log-Level anpassen:
- Archive: Log-Nachricht mit Bezug auf das Seitenarchiv.
- AssetManagement: Log-Nachricht, die vom Asset-Management-Modul ausgegeben wird.
- AsyncRql: Log-Nachricht mit Bezug auf die asynchrone Ausführung einer RQL-Abfrage.
- Authentication: Log-Nachricht, die vom Authentifizierungsmechanismus ausgegeben wird.
- BackgroundProcessing: Log-Nachricht mit Bezug auf die Verarbeitung von Hintergrundprozessen.
- ClusterMessage: Log-Nachricht in Bezug auf Cluster-Aktualisierungen.
- Configuration: Log-Nachricht is emitted by code dedicated to reading or writing configuration files.
- Core: Log-Nachricht, die vom Kern ausgegeben wird.
- Database: Log-Nachricht, die vom Datenbankmodul ausgegeben wird (z. B. Updates).
- DeliveryServer: Log-Nachricht, die von der Delivery Server API ausgegeben wird.
- DevicePreview: Log-Nachricht, die von der Device Vorschau ausgegeben wird.
- Element: Log-Nachricht, die vom Element-Modul ausgegeben wird.
- Folder: Log-Nachricht, die vom Folder-Modul ausgegeben wird (z. B. freigegebene Ordner, konvertierte Ordner).
- Gui: Log-Nachricht, die vom Web-Client-Layer ausgegeben wird.
- Initialization: Log-Nachricht, die vom Objekt-Dienst ausgegeben wird.
- License: Log-Nachricht, die von einem Code zur Validierung und Änderung des Lizenzschlüssels ausgegeben wird.
- Localization: Log-Nachricht, die vom Localization-Modul ausgegeben wird.
- Logging: Log-Nachricht, die von der Logging-Komponente ausgegeben wird (z. B. beim Löschen von Log-Dateien oder Leeren von Log-Verzeichnissen).
- Mail: Log-Nachricht, die von der Mail-Funktion ausgegeben wird.
- Media: Log-Nachricht, die vom Media-Modul ausgegeben wird.
- MobileClient: Log-Nachricht, die vom Mobile Client ausgegeben wird.
- Navigation: Log-Nachricht, die vom Navigations-Modul ausgegeben wird.
- Network: Log-Nachricht mit Bezug zur Netzwerkkommunikation.
- PageBuilder: Log-Nachricht, die vom Pagebuilder ausgegeben wird.
- PageBuilderPerformance: Log-Nachricht, die vom Pagebuilder zum Loggen von Performance-Daten ausgegeben wird.
- PageCache: Log-Nachricht, die vom Seiten-Cache ausgegeben wird.
- PageImportExport: Log-Nachricht, die vom Seitenimportmodul ausgegeben wird.
- PdfInfo: Log-Nachricht, die vom PDF-Modul ausgegeben wird.
- Project: Log-Nachricht, die vom Projektmodul ausgegeben wird (z. B. Kopie, Export, Import, Bericht).
- Publishing: Log-Nachricht, die vom Publizierungsprozess ausgegeben wird.
- ReferenceList: Log-Nachricht, die von der Referenzlistenfunktion ausgegeben wird.
- Rql: Log-Nachricht, die vom RQL-Server ausgegeben wird.
- Sso: Log-Nachricht, die von einer SSO-Integration wie SAP oder OTDS ausgegeben wird.
- TaskMail: Log-Nachricht, die von der Aufgaben-Mailfunktion ausgegeben wird.
- UserDefinedJob: Log-Nachricht, die vom Benutzerauftragsmodul ausgegeben wird.
- WebCompliance: Log-Nachricht, die von der Web-Compliance-Funktion ausgegeben wird.
- WebComplianceContent: Log-Nachricht, die von der Web-Compliance-Funktion ausgegeben wird. Im DEBUG-Level wird der HTML-Code der validierten Seite protokolliert.
- WebService: Log-Nachricht, die von Web Services ausgegeben wird.
- Workflow: Log-Nachricht, die vom Workflow-Mechanismus ausgegeben wird.
Wie muss ich dazu vorgehen?
Dazu verändert man einfach an der passenden Zeile in der logging.config den Eintrag von:
<level value="WARN" />
auf z.B. den Wert:
<level value="DEBUG" />
um dann einem Fehlverhalten, bei einer bestimmten Komponente, auf die Spur zu kommen. Man sollte jedoch immer im Hinterkopf behalten: Wenn viel mitgeschnitten wird, nimmt das Einfluß auf die Performance und es entstehen viele große Log-Dateien.
Dann einfach die Datei speichern und wenige Sekunden später schreibt das System automatisch die Daten in das wsms.log mit dem neuen Log-Level. Es ist kein Neustart der Dienste oder ähnliches notwendig.
Wo finde ich dann die erweiterten Daten?
Das wsms.log kann man elegant ohne viel Aufwand über den integrierten Log-File-Viewer im Server-Manager erreichen.
Navigationspfad: ► Server Manager ► Start ► Anwendungsserver verwalten ► Anwendungsserver ► Anwendungsserver auswählen ► Log-Dateien ► Verzeichnis auswählen ► Log-Datei auswählen ► Log-Datei einsehen
Dort wählt man dann einfach in der Liste das passende wsms.log (Datum / Uhrzeit) aus:
Fazit
Für ein Logging im richtigen Level gibt es keine exakte Vorgabe. Jedoch mit dem richtigen Bewusstsein und etwas Nachdenken, kann man mit dem passenden Log-Level saubere Log-Dateien erhalten, die schnell und zielgerichtet durchsucht werden können.
Also immer mit Bedacht und gezielt die Log-Level anpassen. Sobald das gewünschte Ergebnis erreicht ist, sollte man umgehend die Log-Level wieder zurückdrehen.
Weitere ergänzende Informationen dazu findet man auch in der Online-Hilfe unter:
- Handbuch: Server Manager / Kapitel: Log-Dateien
oder im Apache log4net™ Manual
Weitere Artikel zum Thema:
Über den Autor:
Thomas Pollinger
... ist Senior Site Reliability Engineer bei der Vodafone GmbH in Düsseldorf. Seit dem Jahr 2007 betreut er zusammen mit seinen Kollegen die OpenText- (vormals RedDot-) Plattform Web Site Management für die deutsche Konzernzentrale.
Er entwickelt Erweiterungen in Form von Plug-Ins und PowerShell Skripten. Seit den Anfängen in 2001 (RedDot CMS 4.0) kennt er sich speziell mit der Arbeitweise und den Funktionen des Management Server aus.