Log-Level values

When an error occurs within RODM, you can review the RODM log for records associated with the transaction in error. Depending on the severity of the error, you might need to modify the value of the log-level parameters in the RODM customization member EKGCUST to specify when RODM is to generate a log record.

Note: If you pass a FAIB, EAIB, FIELD NAME, CLASS NAME, or OBJECT NAME pointer that is not valid, the pointer that is not valid is often logged as X'FFFFFFFF' and the API receives a return/reason code of 12/213.

If this occurs, subsequent pointers are also logged as X'FFFFFFFF' because RODM discontinues validating pointers.

If you receive a return/reason code of 12/213, look for the first pointer that was logged as X'FFFFFFFF', or look for an address that is not valid.

Your application can also update log-level values. The default values are the values of the log-level parameters specified in RODM customization member EKGCUST.

If the transaction return code is greater than or equal to the value of a log-level parameter, RODM writes a log record. You can specify the following values:
Log Level
Log Record Written for Transaction Codes
 0–3
All
 4–7
Warning, error, or severe
 8–11
Error or severe
12–999
Severe only

The default value is 8.

Note: Do not use a log-level of zero (0). Log-level zero (0) logs all RODM API requests. There is a potential for an auxiliary storage shortage to occur if log-level zero (0) is used in a high-stress environment.
The rules for method tracing also determine which log records are written to the RODM log and when they are output. The following fields are used as input to RODM method tracing:
  • EKG_MLogLevel in the associated user object initially set from MLOG_LEVEL in customization member EKGCUST
  • EKG_MTraceFlag in each method object
  • EKG_MTraceType in the associated user object initially set from MTRACE_TYPE in customization member EKGCUST
  • EKG_LogLevel in the associated user object initially set from LOG_LEVEL in customization member EKGCUST

Use these parameters with the type of method that is triggered, as well as the type of API request, to determine the log record that is to be written to the RODM log.

The following log records are sent to the RODM log regardless of log-level settings:
  • Log record type 0 (Log Version Record) is the log version record.

    This is the first record written to the log file when you start RODM.

  • Log record type 1 (Output to Log MAPI request) is sent to the RODM log when a method starts the Output to Log (2008) MAPI request.
  • Log record type 5 (RODM system services failure) is sent to the RODM log when RODM encounters a system services error.
  • Log record type 6 (operator request) is sent to the RODM log when you enter specific RODM MODIFY commands.
  • Log record type 7 (abend) is sent to the RODM log when a method or RODM abend is detected.
  • Log record type 8 (statistics) is sent to the RODM log when you request RODM statistics using the RODM MODIFY command.
The following log records are sent to the RODM log based on the value of EKG_LogLevel:
  • Log record type 2 (UAPI transaction request) is sent to the RODM log when the return code from a UAPI function is greater than or equal to EKG_LogLevel
  • Log record type 3 (object-specific method) and log record type 4 (object-independent method) are sent to the RODM log when the following conditions exist:
    • The Set Return/Reason Code (2006) API function is called from an object-specific or object-independent method.
    • The return code is successfully set in the MAPI function call.
    • The return code is greater than or equal to EKG_LogLevel.
Log record type 9 (MAPI transaction request) is sent to the RODM log based on EKG_MLogLevel. Log record type 9 is sent to the RODM log when the return code from a method MAPI request is greater than or equal to EKG_MLogLevel and one of the following conditions exists:
  • EKG_MTraceFlag in the associated method object is ON.
  • One of the following bits corresponding to the method type is ON in EKG_MTraceType:
    Bit
    Method Type
    24
    Object-deletion
    25
    Object-independent
    26
    Named
    27
    Notification
    28
    Change
    29
    Query
Note: For the EKG_MTraceType field, bits are numbered 0-31 from left to right, where bit 0 is the leftmost bit and bit 31 is the rightmost bit.

EKG_MTraceType is a field on each user object. Its default value is the value of the MTRACE_TYPE parameter specified in the RODM customization member EKGCUST. EKG_MTraceFlag is a field on each method object. Its default is 0 (method tracing disabled).

Log record type 10 (method entry and exit) is sent to the RODM log when a method is entered, the entry trace bit (bit 31) in EKG_MTraceType is ON, and one of the following conditions exists:
  • EKG_MTraceFlag in the associated method object is ON.
  • One of the following bits corresponding to the method type is ON in EKG_MTraceType:
    Bit
    Method Type
    25
    Object-independent
    26
    Named
    27
    Notification
    28
    Change
    29
    Query
Log record type 10 (method entry and exit) is also sent to the RODM log when a method is exited, the exit trace bit (bit 30) in EKG_MTraceType is ON, and one of the following conditions exists:
  • EKG_MTraceFlag in the associated method object is ON.
  • One of the following bits corresponding to the method type is ON in EKG_MTraceType:
    Bit
    Method Type
    25
    Object-independent
    26
    Named
    27
    Notification
    28
    Change
    29
    Query