Examples of working with z/OSMF runtime logs

For your reference, this topic describes the attributes of the z/OSMF log files that are created at runtime.

Examining log data that originates from the server

Figure 1 shows portions of an example of z/OSMF server side log data.
Figure 1. Portion of z/OSMF server side log data
2009-04-29T18:38:51.285Z|00000012|com.ibm.zoszmf.util.eis.cim.ccp.CimClientPool|getWBEMClient(Endpoint, String, 
Set<Locale>) INFO:IZUG911I: Connection to "http://null:5988" cannot be established, or was lost and cannot be 
re-established using protocol "CIM" .
com.ibm.zoszmf.util.eis.EisConnectionException: IZUG911I: Connection to "http://null:5988" cannot be established, 
or was lost and cannot be re-established using protocol "CIM" .
   com.ibm.zoszmf.util.eis.EisException.getEisException(EisException.java:145)
   com.ibm.zoszmf.util.eis.EisException.diagnoseAndThrow(EisException.java:221)
   com.ibm.zoszmf.util.eis.cim.ccp.CimClientPool.getWBEMClient(CimClientPool.java:279)

										o
										o
										o

+-> javax.wbem.WBEMException: JNI Exception type CannotConnectException:
   Cannot connect to local CIM server. Connection failed. 
   org.sblim.cimclient.internal.jni.pegasus.CimReturnBuffer.getWBEMException(CimReturnBuffer.java:1244)
   org.sblim.cimclient.internal.jni.pegasus.NativeCimClient.verifyResult(NativeCimClient.java:1834)

   	 		  	o
										o
										o

[tx0000000000000017:pegadm@IBM-FF0E8EC4FCB.xxx.yyy.com (GET) /zosmf/pdw/PdwServiceServlet/
Incidents?filters=IncidentTime(FROM1240704000000)&dojo.preventCache=1241030163470]  
As shown in Figure 1, each log record begins with a line divided by 'pipe' (|) characters into the following components:
  • Timestamp in ISO8601 format, set to UTC timezone. Example: 2009-03-10T18:04:08.051Z
  • Thread ID as an 8 digit hex number. Example: 00000010
  • Class name. Example: com.ibm.zoszmf.util.eis.cim.ccp.CimClientPool
  • Method name. Example: getClient(Endpoint, String).

The next line of a log record contains the logging level, followed by a colon, followed by the message text. Messages logged at level INFO, WARNING, or SEVERE begin with an eight character message ID at the start of the message text. Message IDs that begin with "IZU" are part of the z/OSMF product.

If the log record includes an exception, the exception is logged next. The exception class is logged, followed by a colon, followed by the message text of the exception. The lines following this make up the traceback information embedded in the exception, which is useful first-failure data capture. If the exception has attached causes, each cause is also logged with "+->" indicating the start of an attached cause.

The final line in every log record is contained in brackets. If the log record is written during a specific user's context, information about that context is logged, as follows:
  • "Transaction ID". An internal counter value that applies to all actions between a specific set and clear of a context. This identifier begins with "tx", followed by a sixteen digit hex ID, and ends with a colon ':'.
  • Remote user name (null for a guest user). This value is followed by an 'at' symbol (@).
  • Remote host name. This value is followed by a space.
  • Servlet "verb" is next, contained in parenthesis. Examples include GET and POST.
  • URL of the request and query string, ending with the closing bracket ']'.

If the log record is created during an initialization sequence, the transaction ID is printed and the user name is listed as "*bootstrap*". No other data are provided.

If the log record is created with no known context, only "[tx:]" appears on the final line.

Viewing client side log data

Included with the server statistics in the z/OSMF logs are client side data, which are used to monitor the JavaScript activity of each user login session. Client side log data differs in format from server side log data, as shown in Figure 2.
Figure 2. Example of z/OSMF client side log data
[tx0000000000000ED5:debug2@9.10.83.13 (POST) /zosmf/IzuUICommon/UILoggerServlet?preventCache=1243956783360]
2009-06-02T15:37:51.933Z|0000001A|com.ibm.zoszmf.util.log.servlet.UILoggerServlet|UILoggerServlet::doPost()
SEVERE: [2009-06-02T15:36:47.047Z] IZUG802E: An error occurred. Error: "makeTree error: Error: timeout exceeded" 
[tx0000000000000ED8:debug2@9.10.83.13 (POST) /zosmf/IzuUICommon/UILoggerServlet?preventCache=1243956783360]
2009-06-02T15:37:52.020Z|0000001A|com.ibm.zoszmf.util.log.servlet.UILoggerServlet|UILoggerServlet::doPost()
SEVERE: [2009-06-02T15:36:47.203Z] IZUG802E: An error occurred. Error: "makeTree error: Error: timeout exceeded" 
[tx0000000000000ED9:debug2@9.10.83.13 (POST) /zosmf/IzuUICommon/UILoggerServlet?preventCache=1243956783360]

Log records that originate from the client side are formatted using the same data as those that originate within the server. However, the "message text" itself is specially formatted to represent the state of the client when the message occurred. This is done to compensate for the fact that client side messages might not be immediately sent to the server.

The following fields are recorded on the client when the message occurs, and are formatted within the message text of a log record as such:
  • Client timestamp in brackets [ ]
  • Browser name and level
  • ENTRY or RETURN, to indicate the beginning or the end of a routine
  • Package name, such as AuthorizationServices
  • Module name, such as util.ui.messages.Message.js
  • Method name, such as _getMessageType()
  • Detailed message.