HP PPM Tips and Tricks: Getting the most out of your logging.conf

 

tips and tricks pic.pngGuest post by Etienne Canaud, HP Project and Portfolio Management RD 

The HP PPM Installation and Administration Guide offers a wealth of high-level information on log configuration, such as all PPM specific parameters defined in logging.conf, as well as advanced debugging parameters. However, I wanted to take a moment to highlight some tips and tricks on how to output logs to dedicated files, as well as the different logger names to be used for different functional domains of HP Project and Portfolio Management aka HP PPM. 

Reminder on SYTEM_THRESHOLD parameter 

Before making any change to your logging.conf, you should always double-check that the parameter com.kintana.core.logging.SYSTEM_THRESHOLD is set to a value that is equal or lower than the logging level you want to use. For example, if this parameter is set to ERROR but you want to set a specific logger level to DEBUG, you will not see any information in the logs. You must first set the SYSTEM_THRESHOLD parameter to DEBUG or ALL before you can see DEBUG-level logs. 

Also, you don’t need to restart the PPM Server for changes to logging.conf to take effect. You can  just edit the file, and wait for the message Logging reconfiguration completeto appear in the server console (or in serverLog.txt if you don’t have access to the server console output). You can modify how often the server checks for logging.conf updates by changing the value of logging.conf parameter com.kintana.core.logging.CONF_FILE_RECHECK_INTERVAL. The default value is 30 seconds.

 Logger names per the HP PPM functional domain

 It is possible to define a specific level of logging for a given logger name with the following line in logging.conf:
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = logger.name, LOG LEVEL

Supported log levels:

OFF:   No information is logged (even errors are excluded)

ERROR: Only errors are logged.

INFO:  Errors and additional information are logged.

DEBUG: Verbose logging of debugging messages.

ALL:   Display all log messages being produced.

There is no definitive list of all available logger names defined in PPM, but the following list provides a good start if you want to target a specific functional domain of the application for logging.

1) Reports (shows when reports are being ran):
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.rpt.system, DEBUG
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.rpt.tag, DEBUG

2) Portlets:
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.web.portlets, DEBUG

3) Attachments:
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.core.attachments, DEBUG

4) Request search queries:
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.crt.request, DEBUG

5) Monitoring legacy database connections pool:
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.core.database.pool, DEBUG

6) Services:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.services, DEBUG

7) Packages:
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv, DEBUG

8) Workflows:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.wf, DEBUG

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.core.executions, DEBUG

9) For LDAP integration:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.core.ldap, DEBUG

10) Notifications:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.core.notifications, DEBUG

Logger names hierarchy

Logger names follow a hierarchy with inheritance of settings, as such only the first line of the following configuration is meaningful:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv, DEBUG
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv.package,DEBUG
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv.release,DEBUG
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv.envRefresh,DEBUG
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv.objectType,DEBUG

Because com.kintana.dlv will apply to all sub-names (i.e. com.kintana.dlv.*), unless specified with a different level, the previous five lines do have exactly the same effect as:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv, DEBUG

However, if for example you don’t want to show debug information for com.kintana.dlv.release but want to get package debug info for all of the others, you can do:

com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv, DEBUG
com.kintana.core.logging.PRODUCT_FUNCTION_LOGGING_LEVEL = com.kintana.dlv.release, ERROR

How to send specific logs to a dedicated file

It can be extremely tedious to read serverlog.txt and find relevant information, especially when many loggers are set to the debug type. When that happens, you might want to send each different DEBUG logger to a different file. This can be done in logging.conf. 

Resource: HP

 

Article source: HP PPM Blog

Leave a Reply

Skip to toolbar