Sun Java System Identity Synchronization for Windows 6.0 Deployment Planning Guide

Debug Logging

Most of the Identity Synchronization for Windows components have debug logging capability. This section describes how to enable debug logging for each component.

Using debug logging to isolate a problem can be a time-consuming process. Be sure to read Chapter 7, Troubleshooting Identity Synchronization for Windows, in Sun Java System Directory Server Enterprise Edition 6.1 Troubleshooting Guide before using this method.

In Java Components

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

         

Note –

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.

Table C–1 Component-Level Debug Log Levels

Component

Type of Logging

Log.properties Level

accessor.level

Interaction with directory sources for detecting and applying changes. This is useful when problems accessing a directory source need to be diagnosed. 

FINER 

accessor.saint.level

Communication between the connector and the subcomponents. 

FINE (if not specified, inherits from accessor.level) 

controller.level

Processing that occurs within the Controller including determining membership in a SUL and interaction with the object cache. 

FINER 

agent.level

Processing that occurs within the agent including mapping attributes, sending messages over Message Queue, and receiving messages from Message Queue. 

FINER 

agentout.level

Processing that occurs within the agent on actions that are received from Message Queue. 

<default\> 

encryption.level

Encryption and decryption routines.

INFO 

mq.level

Interaction with Message Queue. 

<default\> 

manager.level

Processing done by the System Manager.

INFO (increasing to FINE+ can significantly slow performance during resynchronization operations) 

centralLogger

Processing done by the Central Logger.

<default\> (This can only be set in the CentralLoggerLog.properties) 

crom.level

Processing done by the configuration system that retrieves, manages, validates, and saves configuration in the configuration directory. 

INFO 

common.level

Processing done by common utility components. 

INFO 

tasks.level

Low-level execution information for each thread in the system. 

INFO (increasing to FINE+ can significantly slow performance) 

xml.level

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.


Note –

All messages that appear in the audit log file also appear in the debug log file to facilitate correlation of events between the logs.


In the Installer

The installer and uninstaller can be configured to write extra debugging information to the installer log file, for example, Identity_Synchronization_for_Windows_install-20041025035143.log, by setting the ISW_DEBUG_INSTALL environment variable to true before starting the installer.


Note –

Secure information such as passwords might appear in the installer log file when debug logging is enabled.


In the Console

The console logs some information to the central log, but most information is only logged if the console is started with the -D option to enable debug logging. The -D option accepts a single argument which controls the amount of logging to generate. It varies from 1 (least) to 9 (most). By default, the logging information is only written to stderr, but it can also be redirected to a file using the -f option, for example:

bash-2.05# ./startconsole -D 7 -f /tmp/console.log