Tracing can be done at both the GAP (generic request and reply protocol layer) and ENP (publish and subscribe protocol layer) levels. Also, service bus traces can be set. The default is for no logging or tracing.
The following environment variables can be set for GAP tracing:
GAP_LOGFILE (Calendar Server only)
The following environment variables can be set for ENP tracing:
ENS_LOGFILE (Calendar Server only)
The following environment variable can be set for service bus tracing: SERVICEBUS_DEBUG.
The value is a positive integer which indicates the trace level. Each higher trace level includes the output from the levels below it. For example, if you set the trace level to 7, level 1-6 traces are also included. The default value for this variable is 4, but since GAP_LOG_MODULES defaults to zero (0), no logging is done.
While it is possible to set the variable to any integer value greater than 7 and less than 100, the effect will be the same as setting it to 7.
Table A–1 lists the trace levels for the variable GAP_DEBUG:
Table A–1 Trace Level Values
Trace Level |
Trace Level Name |
Description |
---|---|---|
0 |
N/A |
No output except emergency messages |
1 |
NSLOG_ALERT |
Alert messages |
2 |
NSLOG_CRIT |
Critical messages |
3 |
NSLOG_ERR |
Software error conditions |
4 |
NSLOG_WARNING |
Default; warning messages (user error conditions) |
5 |
NSLOG_NOTICE |
Normal but significant conditions |
6 |
NSLOG_INFO |
Informational messages |
7 |
NSLOG_DEBUG |
Debug messages |
100 |
NSLOG_TRACE |
Full trace |
Use this variable to obtain trace information specific to one or more functional modules in the GAP code. This variable is a bit map. That is, each bit set in the variable turns on tracing for a particular module.
More than one module can be specified at once. To specify multiple modules, add the individual values of the modules you want. For example, if you want to trace both the connection layer and the transaction modules, you set the value of this variable to 10; to get all modules, set the value to 15.
Table A–2 lists the values for the variable GAP_LOG_MODULES:
Table A–2 GAP_LOG_MODULES Values
Value |
Value Name |
Description |
---|---|---|
0 |
N/A |
Default; no modules logged. |
1 |
GAPLOG_CONNECTION |
Connection layer– socket input output calls |
2 |
GAPLOG_SESSION |
Session layer– session setup and closing |
4 |
GAPLOG_TRANSACTION |
Transaction creation– continuation and termination |
8 |
GAPLOG_DISPATCHER |
Thread dispatcher code– GDisp tracing |
This variable is used for Calendar Server only. This variable tells the system where to output GAP tracing. To send the output to a log file, set the variable to a text file name. The default (variable set to zero) sends GAP tracing to standard out.
Use this variable to generate encoded data traces. Any non-zero value activates the trace.
Use this variable to trace functional (unencoded) client or server request responses.
The value is a positive integer which indicates the trace level. Each higher trace level includes the output from the levels below it. For example, if you set the trace level to 4, level 1-3 traces are also included.
While it is also possible to set the variable to any integer between 7 and 100, the effect will be the same as setting it to 7. That is, anything less than 100 but greater than 6 is treated the same.
Table A–3 lists the trace level values for the ENS_DEBUG variable:
Table A–3 ENS_DEBUG Trace Level Values
Trace Level |
Trace Level Name |
Desciption |
---|---|---|
0 |
N/A |
No output except emergency messages |
1 |
NSLOG_ALERT |
Alert messages |
2 |
NSLOG_CRIT |
Critical messages |
3 |
NSLOG_ERR |
Software error conditions |
4 |
NSLOG_WARNING |
Warning messages (user error conditions) |
5 |
NSLOG_NOTICE |
Normal but significant conditions |
6 |
NSLOG_INFO |
Informational messages |
7 |
NSLOG_DEBUG |
Debug messages |
100 |
NSLOG_TRACE |
Full trace |
Use this variable to obtain trace information specific to one or more functional modules in the ENS code. This variable is a bit map. That is, each bit set in the variable turns on tracing for a particular module.
More than one module can be specified at once. To specify multiple modules, add the individual values of the modules you want. For example, if you want to trace both the server and the RENL modules, you set the value of this variable to 10; to get all modules, set the value to 31.
Table A–4 lists the values for the variable ENS_LOG_MODULES:
Table A–4 ENS_LOG_MODULES Values
Values |
Value Names |
Description |
---|---|---|
0 |
N/A |
Default; no modules logged. |
1 |
ENSLOG_CLIENT_API |
Client API generated transactions |
2 |
ENSLOG_SERVER |
Server generated transactions |
4 |
ENSLOG_UPUB |
Publisher transactions |
8 |
ENSLOG_RENL |
Reliable event notifications |
16 |
ENSLOG_STORE |
ENS message store transactions |
This variable is used for Calendar Server only. This variable tells the system where to output ENS tracing. To send the output to a log file, set the variable to a text file name. The default (variable set to zero) sends ENS tracing to standard out.
To have statistics printed periodically, set this variable to a non-zero value.
Service Bus is a process monitoring system based on ENS, and is used in ENS. Any non-zero value causes service bus traces to be sent to standard out. There is no logfile variable for service bus. To send the traces to a log file, temporarily redefine standard out to a text file name. During this time, all standard out messages will appear in the text file you create.