Message and trace logging
Portlets can write message and trace information to log files, which are maintained in the wp_root/log/ directory. The log files help the portal administrator investigate portlet errors and special conditions and help the portlet developer test and debug portlets.
The PortletContext object in JSR 168 includes a log() method. The Hello User example shows how to log a message when exceptions are caught.
public void processAction(ActionRequest request, ActionResponse response) throws PortletException, IOException{ PortletContext context = getPortletContext(); try{ String save = request.getParameter("save"); if (save != null){ PortletPreferences prefs = request.getPreferences(); prefs.setValue("userName",request.getParameter("username")); prefs.store(); } } catch ( IOException ioe ){ context.log("An IO error occurred when trying to save the name."); } catch ( PortletException pe ) { context.log("A portlet exception was thrown when trying to save the name."); } }The IBM Portlet API provides the PortletLog class, which has methods to write specific types of message and trace information to the logs.
- debug() - for trace information
- info() - for informational messages.
- error() - for error messages.
- warn() - for warning messages.
If an IBM portlet needs to access the portlet log multiple times in a method, it is good idea to assign the log reference to a variable, for example:
private PortletLog myLogRef = getPortletLog();Since logging operations are expensive, the PortletLog class of the IBM Portlet API provides methods to determine if logging is enabled for a given level. The portlet should write to the log of a given level only if the log is tracking messages of that level. For example:
if( getPortletLog().isDebugEnabled() ) { myLogRef.debug("Warning, Portlet Resources are low!"); }See System event logging for a description of the log files.
See also
Home |
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.