Portal, Express Beta Version 6.1
Operating systems: i5/OS, Linux,Windows |
Portlets can write message and trace information to log files, which are maintained in the PortalServer_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 the standard portlet API includes a log() method. The Hello User example shows how to log a message when exceptions are caught. Figure 1. Logging error messages in Hello User examplepublic 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.
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 WebSphere Portal Express run-time logs for a description of how trace strings are set in the log.properties file.