To enable debug logging in one of the Java components (connector, System Manager, or Central Logger), edit the process's command line in the WatchList.properties file to include the -Dcom.sun.directory.wps.flags.Flags.DBG=true flag, and restart the Identity Synchronization for Windows daemon (on Solaris) or service (on Windows). For example, debug logging for the CNN101 Connector has been enabled in the following example. The existing entry for the CNN101 Connector in the /var/opt/SUNWisw/resources/WatchList.properties file is shown below.
process.name[2]=CNN101 process.command[2]=/usr/java/bin/java -Xmx256m -Xrs -DimqConnectionType=TLS -Djava.library.path=/opt/SUNWisw/lib:/usr/lib/mps/secv1 -Djava.util.logging.config.file=/var/opt/SUNWisw/resources/Log.properties -Dcom.sun.directory.wps.logging.directory=/var/opt/SUNWisw/logs/CNN101 -DPSWHOME=/var/opt/SUNWisw -DWPSCNFG=resources -classpath /opt/SUNWisw/lib/common.jar:/opt/SUNWisw/lib/connector.jar: /opt/SUNWisw/lib/db.jar:/opt/SUNWisw/lib/ldapjdk.jar: /opt/SUNWisw/lib/manager.jar: /opt/SUNWisw/lib/registry.jar: /opt/SUNWisw/lib/watchdog.jar: /var/opt/SUNWisw/resources:/opt/SUNWisw/locale/resources: /usr/share/lib/jms.jar:/usr/share/lib/imq.jar: /usr/share/lib/mps/secv1/jss3.jar: /usr/sfw/share/lib/xerces-200.jar:. com.sun.directory.wps.controller. AgentHarness CNN101 process.delay[2]=120000 process.interval[2]=60000 |
The idsync printstat command provides information about the Connector ID and the installation location, which can be used to find the correct entry in the WatchList.properties list.
In the following example, the command line entry for this connector has been edited to include the special debug option. It is safest to include this option as the first JVM option.
process.name[2]=CNN101 process.command[2]=/usr/java/bin/java -Dcom.sun.directory.wps.flags.Flags.DBG=true -Xmx256m -Xrs -DimqConnectionType=TLS -Djava.library.path=/opt/SUNWisw/lib:/usr/lib/mps/secv1 -Djava.util.logging.config.file=/var/opt/SUNWisw/resources/Log.properties -Dcom.sun.directory.wps.logging.directory=/var/opt/SUNWisw/logs/CNN101 -DPSWHOME=/var/opt/SUNWisw -DWPSCNFG=resources -classpath /opt/SUNWisw/lib/common.jar:/opt/SUNWisw/lib/connector.jar: /opt/SUNWisw/lib/db.jar:/opt/SUNWisw/lib/ldapjdk.jar: /opt/SUNWisw/lib/manager.jar:/opt/SUNWisw/lib/registry.jar: /opt/SUNWisw/lib/watchdog.jar:/var/opt/SUNWisw/resources: /opt/SUNWisw/locale/resources:/usr/share/lib/jms.jar: /usr/share/lib/imq.jar:/usr/share/lib/mps/secv1/jss3.jar: /usr/sfw/share/lib/xerces-200.jar:. com.sun.directory.wps.controller.AgentHarness CNN101 process.delay[2]=120000 process.interval[2]=60000 |
After enabling this option, stop and start the Identity Synchronization for Windows daemon (on Solaris) or service (on Windows) so that the changes take effect.
To prevent conflicts with Message Queue, wait thirty seconds after stopping the Identity Synchronization for Windows daemon or service before restarting it. Once the process starts, it will write three new logs, logs/CNN101/debug.log, logs/CNN101/debugErrors.log, andogs/CNN101/resyncDebug.log.
debug.log— Includes all debug log messages, as well as all log messages from the audit log file.
debugErrors.log— Includes all debug, warning, and error messages, as well as all messages from the error log file.
resyncDebug.log— Includes all resynchronization log messages that are normally only sent to the central log
Enabling debug logging has an impact on performance and security. Debug logging can generate trace level information that consumes more disk space than audit logs, requires additional processor cycles that can reduce throughput. Although no sensitive information is ever written to the audit log, the debug log might include sensitive information such as passwords.
Unlike audit logging, the amount of information in the debug log is not controlled by the global log level in the console. Instead, debug logging is controlled by the Log.properties file located in the resources/ directory. The primary settings that can be changed in this file are log levels. The log levels for the debug logging behave identical to the setting for the audit logs but give more fine-grained control.
The com.sun.directory.wps.logging.debugLogger.loggerLevel = FINE line in Log.properties sets the default log level to FINE, but individual components change the log level to increase or decrease the default amount of logging. In general, the defaults provided in this file will produce an adequate amount of debug logging without populating the log with unnecessary information.
In Java Components summarizes the component-level debug log levels (In the Component column, com.sun.directory.wps.logging.DebugLogger.prefix is implied):
Interaction with directory sources for detecting and applying changes. This is useful when problems accessing a directory source need to be diagnosed. |
FINER |
|
Communication between the connector and the subcomponents. |
FINE (if not specified, inherits from accessor.level) |
|
Processing that occurs within the Controller including determining membership in a SUL and interaction with the object cache. |
FINER |
|
Processing that occurs within the agent including mapping attributes, sending messages over Message Queue, and receiving messages from Message Queue. |
FINER |
|
Processing that occurs within the agent on actions that are received from Message Queue. |
<default\> |
|
INFO |
||
Interaction with Message Queue. |
<default\> |
|
INFO (increasing to FINE+ can significantly slow performance during resynchronization operations) |
||
<default\> (This can only be set in the CentralLoggerLog.properties) |
||
Processing done by the configuration system that retrieves, manages, validates, and saves configuration in the configuration directory. |
INFO |
|
Processing done by common utility components. |
INFO |
|
Low-level execution information for each thread in the system. |
INFO (increasing to FINE+ can significantly slow performance) |
|
Low-level parsing details for XML configuration objects. |
INFO (increasing to FINE+ can significantly slow performance) |
These log levels can be changed by editing the Log.properties files. The changes will be reflected after a restart.
All messages that appear in the audit log file also appear in the debug log file to facilitate correlation of events between the logs.