HPEL stores and processes log and trace records in a binary form which is the main reason for its efficiency. As you can see in the figure below (source IBM Publib), primarily HPEL engine forwards streams into two repositories (log and trace). Text format is also supported but should be disabled when performance is a key concern.
If we want to use HPEL we must firstly enable it and secondly configure it.
By default HPEL is disabled since java.util.logging logger is still the default logger (as it was on previous WAS versions). We can enable HPEL (and disable java.util.logging logger) through IBM Admin Console > Troubleshooting > Logs and Trace > our server > »Switch to HPEL«.
We can separately configure (log directory, buffering, log record size and age, etc.):
- HPEL logging
- HPEL trace
- HPEL text log
We can read HPEL logs and trace also programmatically (figure below – source is IBM Publib). We can read our log and trace records from repositories with wsadmin script (HPELControlService JMX MBean) or with custom Java program (HPELControlService JMX MBean or HPEL API).
In my opinion HPEL can be very useful, especially when we need to log very frequently. IBM has provided us with a very useful and powerful Log Viewer and API so we could develop custom applications for transformation, propagation or analysis of log/trace records.