Der PPM-Server verwendet die standardisierte Logging-Schnittstelle log4J2 zum Ausgeben von Systemmeldungen. Hierfür verwendet jede PPM-Komponente (z. B. Datenimport, Merger, Kennzahlenberechner) eigene Logger. Die Module (Komponenten) des PPM-Systems verfügen über folgende übergeordnete Logger: log, trace und audit.
Standardmäßig verfügt das PPM-System über folgende Appender zur formatierten Ausgabe der Meldungen.
Appender |
Beschreibung |
console |
Meldungen werden an der Konsole ausgegeben. Nur noch für Kommandozeilenprogramme relevant. |
logFile |
Meldungen werden in eine Datei geschrieben. Der Name der Datei wird durch den Konfigurationsschlüssel appender.logFile.fileName bestimmt. |
errorFile |
Fehlermeldungen und Exceptions (log-Ausgaben, die mit E: oder F: beginnen) werden
in eine Datei geschrieben. Der Name der Datei wird durch den Konfigurationsschlüssel
appender.errorFile.fileName bestimmt. |
traceFile |
Meldungen werden ausschließlich in eine Datei geschrieben. Der Name der Datei wird
durch den Konfigurationsschlüssel appender.traceFile.fileName bestimmt. |
auditFile |
Schreibt Audit-log-Meldungen in eine Datei. Der Name der Datei wird durch den Konfigurationsschlüssel appender.logFile.fileName bestimmt. |
Für den Mandantenserver wird die Ausgabe von Meldungen in der Datei Server_Log_settings.properties konfiguriert, für den Analyseserver in der Datei AnalysisServer_Log_settings.properties. Diese beiden Konfigurationsdateien werden während der Installation automatisch mit Standardeinträgen erzeugt.
Die Konfigurationsdateien Server_Log_settings.properties und AnalysisServer_Log_settings.properties werden alle 60 Sekunden (fest vorgegeben) auf Veränderungen geprüft. Hierdurch kann die Konfiguration der Log-Ausgaben ohne Neustart der PPM-Server geändert werden.
Modulbasiertes Logging
Zur Ausgabe von Systemmeldungen des PPM-Mandanten- und Analyseservers werden die bekannten PPM-Modulnamen verwendet. Die entsprechende Konfiguration erfolgt in den jeweiligen Dateien Server_Log_settings.properties (Mandantenserver) bzw. AnalysisServer_Log_settings.properties (Analyseserver).
Folgende Logger-Module werden von PPM unterstützt:
Modulname |
Beschreibung |
LOG.XML |
XML-Quellsystemdatenimport |
LOG.EIM |
Internes Einlesen der importierten Fragmentinstanzen |
LOG.MGR |
Zusammenführung von Prozessfragmenten (Merge) |
LOG.TYP |
Typisieren von Prozessinstanzen |
LOG.KIC |
Berechnung und Ermittlung von Kennzahlen und Dimensionen |
LOG.PLV |
Planwertberechnung |
LOG.CFG |
Internes Konfigurationsmanagement |
LOG.STD |
PPM-Server im Modus STANDARD |
LOG.SRV |
Standardmodul, das für Protokollausgaben des PPM-Servers verwendet wird |
LOG.CNV |
Datenbankkonverter |
LOG.IMP |
Im- und Export von Konfigurationen (z. B. mittels runppmconfig) |
LOG.ADM |
Administration des Mandanten (z. B. mittels runppmadmin) |
LOG.KG |
Schlüsselerzeugung für importierte Prozessfragmente (Keygenerator) |
LOG.PRF |
Profiler (SA) |
LOG.OLA |
Abfrageschnittstelle |
LOG.REP |
Erstellung von Reporten |
LOG.RAU |
Reportautomatisierung |
LOG.MST |
PPM-Server im Modus MASTER |
LOG.SUB |
PPM-Server im Modus SUBSERVER |
LOG.LOG |
Allgemeine log-Ausgaben |
LOG.EAL |
Frühwarnsystem |
LOG.ALY |
Unregelmäßigkeitsanalyse (runppmanalytics) |
LOG.CCS |
Attributberechner im Modus SILENT |
LOG.CCD |
Attributberechner im Modus DEFAULT |
LOG.CCV |
Attributberechner im Modus VERBOSE |
LOG.PFM |
sysmon-Mandant |
LOG.MON |
Abfrage-Monitoring |
LOG.PFS |
Statistiken benutzerspezifischer Favoriten |
LOG.SFS |
Statistiken gemeinsamer Favoriten |
LOG.CPI |
Verbesserungen, Nachrichtenverwaltung |
LOG.ASRV |
Standardmodul, das für Protokollausgaben des Analyseservers verwendet wird |
LOG.MEM |
Frühwarnsystem bei Speicherknappheit |
LOG.DAI |
Data-Analytics-Import |
Bei der Ausgabe von Meldungen werden die Modulkürzel (entsprechen dem Modulnamen ohne Präfix LOG.) nicht lokalisiert ausgegeben, d. h., für Ausgaben von Meldungen für den Kennzahlenberechner wird das Modulkürzel KIC verwendet.
Für jedes Logger-Modul muss ein Loglevel angegeben werden. Folgende Loglevel werden unterstützt: INFO, WARN, ERROR, FATAL, OFF. Die Affinität des gewählten Loglevel nimmt von rechts nach links zu, d. h. wenn Loglevel WARN eingestellt ist, werden auch Meldungen der Level ERROR, FATAL ausgegeben.
Beispiel
Für den XML-Datenimport sollen Informationen, Warnungen, Fehler und kritische Fehler an der Konsole ausgegeben werden.
logger.LOG.XML.name=LOG.XML
logger.LOG.XML.level=INFO
logger.LOG.XML.appenderRef.console.ref = console
Die Loglevel werden ohne Berücksichtigung der Groß-/Kleinschreibung angegeben. Beispiel: logger.LOG.XML.level=error entspricht logger.LOG.XML.level=ERROR.
Falsche Angaben des Loglevel, z. B. logger.LOG.XML.level=error, werden ignoriert. In diesem Fall wird der Loglevel des übergeordneten Logger verwendet, hier der Loglevel logger.LOG.level=INFO.
Wenn für ein Logger-Modul kein Loglevel angegeben ist, wird der Loglevel des übergeordneten Logger verwendet, hier der Loglevel logger.LOG.level=INFO.
Ausgabe von Trace-Meldungen
Im Gegensatz zu den Logger-Modulen gibt es für die Trace-Module keine Loglevel, die Ausgaben von Meldungen können lediglich ein- bzw. abgeschaltet werden. Diese Ausgaben sind gedacht, um im konkreten Fehlerfall weiterführende Informationen zu erhalten. Es gibt folgende Trace-Module: ASRV, SRV, CONFIG, ABT, CONPOOL, FRQ, RET, RETDS, RETQT, QPL, SELITY, DIM, IMP, RMI, MEM, MON, PPI, EIP, CLC, UPD, DST, QUE, SES, TRANS, RSAPI, RSPPMUI, RSCONFMC, RSPMC
Anstelle des Loglevel können für die Trace-Module folgende Einstellungen vorgenommen werden: OFF, TRACE.
Beispiel
Für den Mandantenserver sollen Trace-Meldungen, für Analyseserver sollen keine Trace-Meldungen ausgegeben werden.
logger.TRACE.SRV.level=TRACE
logger.TRACE.ASRV.level=OFF
Präfixe von Log-Ausgaben
Jede Log-Ausgabe beginnt mit einem Präfix, das den entsprechenden Loglevel angibt. Dieser Präfix ist für alle Sprachen gleich.
Loglevel |
Präfix alle Sprachen |
Statistik |
S: |
FATAL |
F: |
ERROR |
E: |
WARN |
W: |
INFO |
I: |
TRACE |
T: |
Statistikmeldungen werden immer ausgegeben und können nur durch den Loglevel OFF unterdrückt werden.
Log-Ausgaben formatieren
Das Format der Log-Ausgaben wird in den beiden Konfigurationdateien Server_Log_settings.properties und AnalysisServer_Log_settings.properties angegeben. Das PPM-Standardformat des Datums wird in diesen Dateien durch %d{ppmdate} angegeben.
Das verwendete Datumsformat ist abhängig von der Sprache, mit der Mandanten- und Analyseserver gestartet wurden. Für die sechs von PPM unterstützten Sprachen werden folgende Datumsformate verwendet:
Sprache |
Locale |
Datumsformat |
Englisch USA |
EN |
MM/dd/yy HH:mm:ss |
Englisch GB* |
US |
dd/MM/yy HH:mm:ss |
Deutsch |
DE |
dd.MM.yy HH:mm:ss |
Französisch |
FR |
dd.MM.yy HH:mm:ss |
Japanisch |
JA |
dd/MM/yy HH:mm:ss |
Russisch |
RU |
dd.MM.yy HH:mm:ss |
Chinesisch |
ZH |
dd/MM/yy HH:mm:ss |
* Standardmäßig wird das Datumsformat Englisch USA von PPM verwendet. Anweisungen dazu, wie Sie zum Datumsformat für Englisch GB wechseln, finden Sie in der Dokumentation PPM Installation im Kapitel Datumsformat für den britischen Sprachraum umstellen.
Beispiel
appender.errorFile.layout.pattern=%p %xd{ppmdate} [%c{1}] %m%n
Skalierte Systeme
Die Konfiguration der Ausgabe von Log-Meldungen wird für ein skaliertes PPM-System grundsätzlich gehandhabt wie für ein Standardsystem mit nur einem PPM-Server. Folgende Besonderheiten sollten beachtet werden:
Alle auftretenden Exception- und Trace-Meldungen werden auf den entsprechenden Sub-Server ausgegeben. Exceptions werden an den Master-Server weitergeleitet und in das Errorlog des Master-Servers geschrieben.
Da der Master-Server nicht mit einem eigenen Analysesserver verbunden ist, können auf dem Master-Server nur Trace-Meldungen des Mandantenservers ausgegeben werden. Trace-Meldungen der Analyseserver werden in die Log-Ausgaben der jeweiligen Sub-Server geschrieben.