(Optional) rsecomm.properties, the RSE tracing

This customization task does not require assistance, special resources, or special customization tasks.

RSE API supports different levels of tracing the internal program flow for problem-solving purposes. RSE, and some of the services called by RSE, use the settings in rsecomm.properties to know the required initial detail level in the output logs.

Attention: Changing these settings can cause performance degradations and should be done only under the direction of the IBM® support center.

rsecomm.properties is located in /etc/zexpl/, unless you specified a different location when you customized and submitted HUH.SHUHSAMP(HUHSETUP) job. For more details, see Customization setup. You can edit the file with the TSO OEDIT command. RSE API must be restarted for the changes to take effect.

The following code sample shows the rsecomm.properties file, which can be customized to match your tracing needs. Comment lines start with a number sign (#) when using a US code page. Data lines can have only a directive and its assigned value; comments are not allowed on the same line. Line continuations are not supported.

Figure 1. rsecomm.properties - Logging configuration file
# Logging level
# 0 – Log error messages
# 1 – Log error and warning messages
# 2 – Log error, warning and info messages
debug_level=1
debug_level
Detail level for output logs. The default is 1, which logs error and warning messages. The debug_level detail controls the detail level of multiple services and, thus, multiple output files. Increasing the detail level will cause performance degradations and should be done under only the direction of the IBM support center. For more information about which logs are controlled by this directive, see "RSE tracing" in the IBM Explorer for z/OS® Host Configuration Reference Guide (SC27-8438).
Table 1. Detail level for output logs
Value Detail level
0 Log error messages only
1 Log error and warning messages
2 Log error, warning, and informational messages
Note: To dynamically modify the debug level during the server runtime, use the API PUT command admin/userLogLevel and the query parameter logLevel with a valid value. This command requires admin privilege. For example, /rseapi/api/v1/admin/userLogLevel?logLevel=2.
#user.log=<user_log_location>
The directory that leads to the user-specific logs. The default is the user home directory, which holds the z/OS Explorer log directory name. Uncomment and change the value to enforce the required location.

If this directive value is a null string, the default user home directory of the client user ID is used. The home directory is defined in the OMVS security segment of the user ID.

Notes:
  • The complete path to the user logs is userlog/$LOGNAME/, where userlog is the value of the user.log directive, and $LOGNAME is the clients user ID in uppercase.

    Ensure that the permission bits for userlog/ are set so that each client can create $LOGNAME.

  • When the default userlog is used, the complete path to the user logs is ~/.rseapi/$LOGNAME/.
#log.file.mode=RW.N.N

Access permission mask for log files. The default is RW.N.N, which grants the owner read and write access. The owner's default group and everyone else have no access. To set the required access permissions, uncomment and customize this directive.

UNIX standards dictate that permissions can be set for three types of users: owner, group, and other. The fields in this variable match this order, and the fields are separated by a period (.). Each field can be empty that equals N, or have N, R, W, or RW as values, where N = none, R = read, and W = write.

#log.retention.period=5
The number of days that user logs are kept. The default is 5. Uncomment and customize this directive to delete the logs after a specific number of days. Specify 0 to set no limit. The maximum value is 365.
Note: Server log cleanup happens at the next action that requires server activity. User logs are cleaned up the next time the user connects.
#keep.all.logs=true
Use file names with an embedded time-stamp for daemon and user logs. The default is false, which implies that the logs are replaced each time the server is started or the user connects.

To keep all logs until removed by the log.retention.period directive, uncomment it and specify true.

To use fixed log file names, which are replaced each time the daemon is started or the user connects, uncomment and specify false.

#keep.last.log=true
Keep a copy of the user log files that belong to the previous session. The default is true. When it is set to true, the previous log files are renamed to *.last when the server is started up and the client connects.
Notes:
  • The .dstore* user trace files are not removed automatically when the client reconnects, nor are they part of the keep.last.log processing. You need to removing these files manually.
  • For the keep.last.log directive to take effect, the keep.all.logs directive must be set to false.
#DSTORE_TRACING_ON=true
Start dstore tracing. The default is false. Use this directive only when you are directed by the IBM support center. The resulting .dstoreTrace log file is created in Unicode (ASCII), not EBCDIC.
#enable.audit.log=true
Audit option. The default is false. To enforce audit logging of the actions done by clients, uncomment and specify true.

Audit logs are written to the $RSEAPI_LOGS log location. To know the location, see the server option of the _RSE_JAVAOPTS variable.

#audit.cycle=30
The number of days that audit data is stored in one audit log file. The default is 30. To control how much audit data is written to one audit log file, uncomment and customize this directive. The maximum value is 365.
#audit.log.mode=RW.R.N

Access permission mask for audit logs. The default is RW.R.N, which grants the owner read and write access. The owner's default group has read access and everyone else has no access. To set the required access permissions, uncomment and customize this directive.

UNIX standards dictate that permissions can be set for three types of users: owner, group, and other. The fields in this variable mask match this order, and the fields are separated by a period (.). Each field can be empty that equals N, or have N, R, W, or RW as values, where N=none, R = read. and W = write.