The PPM server uses the log4J interface to output system messages. Each PPM component (e.g., data import, merger, Measure calculator) uses own loggers. The PPM system modules (components) have the following superordinate loggers: log, trace, and audit.
By default, the PPM system has the following appenders for formatted message output.
Appender |
Description |
console |
Messages are output on the console. Only still relevant for command line programs. |
logFile |
Messages are written to a file. The name of the file is specified by the configuration key log4j.appender.logFile.File. |
errorFile |
Error messages and exceptions (log output starting with E: or F:) are written to a file. The name of the file is specified by the configuration key log4j.appender.errorFile.File. |
traceFile |
Messages are only written to a file. The name of the file is specified by the configuration key log4j.appender.traceFile.File. |
auditFile |
Writes audit log messages to a file. The name of the file is specified by the configuration key log4j.appender.auditFile.File. |
For the client server, message output is configured in the file Server_Log_settings.properties, for the analysis server in the file AnalysisServer_Log_settings.properties. Both configuration files including their default entries are automatically created during installation.
The configuration files Server_Log_settings.properties and AnalysisServer_Log_settings.properties are checked for changes every 60 seconds (fixed setting). Therefore, the configuration of log output can be changed without having to restart the PPM servers.
Module-based logging
The familiar PPM module names are used for system message output of PPM client server and analysis server. They are configured in the files Server_Log_settings.properties (client server) or AnalysisServer_Log_settings.properties (analysis server), respectively.
PPM supports the following logger modules:
Module name |
Description |
LOG.XML |
XML source system data import |
LOG.EIM |
Internal import of imported fragment instances |
LOG.MGR |
Merge of process fragments |
LOG.TYP |
Typification of process instances |
LOG.KIC |
Calculation of measures and dimensions |
LOG.PSC |
Dashboard queries |
LOG.PLV |
Planned value calculation |
LOG.CFG |
Internal configuration management |
LOG.STD |
PPM server in STANDARD mode |
LOG.SRV |
Standard module used for log output of the PPM server |
LOG.CNV |
Database converter |
LOG.IMP |
Import and export of configurations (e.g. using runppmconfig) |
LOG.ADM |
Client administration (e.g. using runppmadmin) |
LOG.KG |
Key creation for imported process fragments (key generator) |
LOG.PRF |
Profiler (SA) |
LOG.MV |
Management views (applet-based) |
LOG.OLA |
Query interface |
LOG.REP |
Creation of reports |
LOG.RAU |
Report automation |
LOG.MST |
PPM server in MASTER mode |
LOG.SUB |
PPM server in SUBSERVER mode |
LOG.LOG |
General log output |
LOG.EAL |
Early alert system |
LOG.ALY |
Irregularity analysis (runppmanalytics) |
LOG.MTAB |
Minitab |
LOG.CCS |
Attribute calculator in SILENT mode |
LOG.CCD |
Attribute calculator in DEFAULT mode |
LOG.CCV |
Attribute calculator in VERBOSE mode |
LOG.PFM |
sysmon client |
LOG.CRC |
Corba connections |
LOG.MON |
Online monitoring |
LOG.PFS |
Statistics of user-specific favorites |
LOG.SFS |
Statistics of shared favorites |
LOG.CPI |
Improvements, message administration |
LOG.ASRV |
Standard module used for log output of the analysis server |
LOG.MEM |
Early alert system in case of memory shortage |
LOG.PPI |
Process import |
LOG.EIP |
Process import - Event import |
LOG.CLC |
Process import - Measure calculation |
LOG.UPD |
Process import - Update |
LOG.DAI |
Data analytics import |
In message output, module codes (corresponding to the module name without the prefix LOG.) are not localized. Therefore, for messages for the Measure calculator, the module code is KIC.
You must specify a log level for each logger module. The following log levels are supported: INFO, WARN, ERROR, FATAL, OFF. The affinity of the log levels selected increases from right to left, i.e., if you set the log level to WARN, messages of the ERROR and FATAL levels are output, as well.
Example
Information, warnings, errors, and critical errors are to be output on the console for the XML data import.
log4j.logger.LOG.XML=INFO,console
Trace message output
In contrast to logger modules, trace modules do not have modules. Instead, message output can only be turned on or off. This output contains further information on the error. The following trace modules exist: ASRV, SRV, CONFIG, ABT, CONPOOL, FRQ, RET, RETDS, QPL, SELITY, DIM, IMP, RMI, MEM, PPI, EIP, CLC, UPD, DST, QUE
Instead of the log level, you can specify the following settings for trace modules: OFF, TRACE.
Example
Trace messages are to be output for the client server, but not for the analysis server.
log4j.logger.TRACE.SRV=TRACE
log4j.logger.TRACE.ASRV=OFF
Log output prefixes
Each log output has a prefix indicating the corresponding log level. This prefix is identical for all languages.
Log level |
Prefix for all languages |
Statistics |
S: |
FATAL |
F: |
ERROR |
E: |
WARN |
W: |
INFO |
I: |
TRACE |
T: |
Statistics messages are output always and can only be suppressed by the OFF log level.
Format log output
The log output format is specified in the two configuration files Server_Log_settings.properties and AnalysisServer_Log_settings.properties. The PPM default date format is specified by %X{ppmdate} in these files.
The date format used depends on the language that the client and analysis servers were started with. The following date formats are used for the three languages supported by PPM:
Language |
Locale |
Date format |
English |
EN |
dd/MM/yy HH:mm:ss |
English USA |
US |
MM/dd/yy HH:mm:ss |
German |
DE |
dd.MM.yy HH:mm:ss |
French |
FR |
dd.MM.yy HH:mm:ss |
Hungarian |
HU |
dd.MM.yy HH:mm:ss |
Japanese |
JA |
dd/MM/yy HH:mm:ss |
Dutch |
NL |
dd.MM.yy HH:mm:ss |
Russian |
RU |
dd.MM.yy HH:mm:ss |
Chinese |
ZH |
dd/MM/yy HH:mm:ss |
Example
log4j.appender.error.File.layout.ConversionPattern=%p %X{ppmdate} [%c{1}] %m%n
Scaled systems
The configuration of log message output for a scaled PPM system is basically the same as for a standard system with only one PPM server. However, the following should be observed:
Distribute log output
You can use appenders to send the PPM server system messages to any log servers. These will process the messages further.
Windows Event Viewer
The following file extract shows the extended appender configuration for sending PPM server system messages to the local Windows log server.
...
log4j.appender.Logserver=org.apache.log4j.nt.NTEventLogAppender
log4j.appender.Logserver.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.Logserver.layout.ConversionPattern=%d | %-5p | %-20c{1} | %m%n
...
System messages are displayed in Windows Event Viewer (Computer Management -> System -> Event Viewer).
Remote log servers
To send PPM server system messages to a remote logging server (e.g., B. Lumbermill or Apache Chainsaw) in your network, you can use the extended appender configuration shown in the following file extract.
...
log4j.appender.AuditLogserver=org.apache.log4j.net.SocketAppender
log4j.appender.AuditLogserver.Port=4445
log4j.appender.AuditLogserver.RemoteHost=pcanywhere
log4j.appender.AuditLogserver.layout=org.apache.log4j.EnhancedPatternLayout
log4j.appender.AuditLogserver.layout.ConversionPattern=%X{ppmdate} [%c{1}] %m%n
...