About Me

About Me
Working with SOA technologies , implementing solution using IBM BPM , IBM Integration Designer,IBM WODM and IBM DataPower

About me

View Mahesh Dondeti's profile on LinkedIn

upcoming posts on IBM Bluemix,Devops,Worklight,Node js.

Saturday, 13 October 2012

High Performance Extensible Logging

HPEL or High Performance Extensible Logging is a new feature of IBM WebSphere Application Server version 8.0. It provides efficient logging and tracing utilities for storing and accessing log, trace, system.err and system.out data. It is an alternative to java.util.logging logger that was used as a logging utility on WAS.
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
HPEL log and trace records can be accessed with a provided Log viewer (command line interface and admin console) that supports search, queries, filters, tail, inclusion/exclusion of specific loggers, etc. Here we can see Log Viewer in action (log list and log record details):





 
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.