HP Project and Portfolio Management 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 R&D


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. 




Labels: HP PPM
Leave a Comment

We encourage you to share your comments on this post. Comments are moderated and will be reviewed
and posted as promptly as possible during regular business hours

To ensure your comment is published, be sure to follow the Community Guidelines.

Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
Showing results for 
Search instead for 
Do you mean 
About the Author
This account is for guest bloggers. The blog post will identify the blogger.

Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.