Enabling Waltz and Sonata traces on the FileNet Server

You need to enable Waltz and Sonata on the FileNet®Server to see logs for these applications.

About this task

Waltz provides the common Directory Services and its extension such as WPI/WCI framework for Enterprise web Applications on the Java EE platform. As a shareable common directory service component Waltz focuses on accessing directory profile data.

Sonata provides the common HttpClient services for a RESTful back end with a set of configurable authenticators to support various SSO security tokens and cookies for secure server-to-server communication.

Both Waltz and Sonata support profile and community membership lookups in FileNet.

This instruction is derived from the HCL Support technote: Configure tracing for HCL FileNet Content Engine by using log4j. Waltz and Sonata are incorporated into the FileNet Content Engine, which becomes part of the FileNet P8 Server 5.2. This integration service enables Enterprise Content Management over the Social Business Platform. However, the FileNet server is independent from the common usage of the troubleshooting vehicle that is provided by the WebSphere® Application Servers historically. Therefore, the troubleshooting mechanism for the FileNet Application Server could be slightly different from the traditional Enterprise web-based applications that are used in IBM Connections™.

Procedure

  1. Copy the sample log4j.xml outlined in the Results section into a new log4j.xml file to the location that is given in the sample.
    For example:
    • Linux™: /<absolute_path_for_log4j_file>/log4j.xml
    • Windows™:\<absolute_path_for_log4j_file>\log4j.xml
  2. Add the following JVM command-line arguments to the FileNet Application Server: -Dlog4j.configuration=file:/<absolute_path_for_log4j_file>/log4j.xml -DskipTLC=true See HCL Support technote: Configure tracing for HCL FileNet Content Engine using log4j for more information.
    Note: This instructs the Content Engine (FileNet Content Engine) server to skip the existing Trace Logging Configuration.
  3. Restart the FileNet Application Server.
  4. Re-create the problem and collect the trace files for support.
  5. Locate the waltz.sonata.trace.log file under the profiles folder.
    For example:
    • Windows: c:\Program Files\IBM\WebSphere\AppServer\profiles\AppSrv01
    • Linux /opt/IBM/WebSphere/AppServer/profiles/AppSrv01
  6. Turn tracing off by removing the JVM command-line arguments and restarting the FileNet Application Server.

Results

Here is a sample log4J.xml. You can also find the sample in IBM Support technote: Instructions for Generating Trace Logs for both FileNet P8 Content Platform Engine and HCL Connections Waltz.
<log4j:configuration debug="false"><!-- 
    ########################################################################
    # FileNet Apperders:
    ######################################################################## 
    --><appender name="FileNetErrorRollingAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/p8_server_error.log"/><param name="Threshold" value="error"/>
    <param name="MaxFileSize" value="100MB"/><param name="MaxBackupIndex" value="5"/>
    <layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d %5p [%t] 
    - %m\r\n"/></layout></appender>
    <appender name="FileNetTraceRollingAppender" class="org.apache.log4j.RollingFileAppender">
    <param name="File" value="logs/p8_server_trace.log"/><param name="MaxFileSize" value="100MB"/>
    <param name="MaxBackupIndex" value="5"/><!--
     # This is the layout that the TraceLoggingConfiguration framework uses.  To use this layout
     # in a manual log4j configuration (while using skipTLC=true for example), jace.jar
     # must be present in the startup classpath.-->
     <!-- layout class="com.filenet.apiimpl.util.TraceLayout"/ -->
     <!-- Comment out the following if using the FileNet TraceLayout -->
     <layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d %5p [%t] 
     - %m\r\n"/></layout></appender><!-- 
    ########################################################################
    # Waltz Apperders:
    ######################################################################## 
    --><appender name="WaltzFileAppender" class="org.apache.log4j.RollingFileAppender">
    <!-- absolute path to log file -->
    <param name="File" value="logs/waltz.sonata.trace.log"/>
    <!-- setting this to false will cause the file to be truncated with each restart -->
    <param name="Append" value="true"/><!-- MaxFileSize --><param name="MaxFileSize" value="100MB"/>
    <!-- Oldest file will be deleted if more than n files were generated -->
    <param name="MaxBackupIndex" value="2"/>
    <!-- Layout --> 
    <layout class="org.apache.log4j.PatternLayout"><param name="ConversionPattern" value="%d [%t] %-5p %c 
    - %m%n"/></layout></appender><!-- 
    ########################################################################
    # FileNet Error Loggers:
    #
    # Set log level to either one of off/fatal/error/warn/info
    # By default, error logging is set to level INFO.
    ######################################################################## 
    --><logger name="filenet_error" additivity="false"><level value="info"/>
    <appender-ref ref="FileNetErrorRollingAppender"/>
    <appender-ref ref="FileNetTraceRollingAppender"/></logger><!-- 
    ########################################################################
    # FileNet Trace Loggers:
    #
    # Setting log level to "off" will turn off the trace logging.
    # Setting log level to "debug" will turn on the trace logging.
    #
    # Child logger's value overwrites parent logger's one.
    # If a logger is not specified, it inherents its value from its parent logger.
    # By default, trace logging is off. 
    #
    # The general message trace logging has a hierarchy of three detail levels represented with
    # hierarchical logger names:
    #    ...detail.moderate.summary  - Enables a summary level of tracing
    #    ...detail.moderate          - Enables a moderate level of tracing
    #    ...detail                   - Enables the most detailed level of tracing
    #
    # Uncomment corresponding lines to turn tracing on.  To enable trace logging
    # for all subsystems and all flags, set the level of the filenet_tracing
    # logger to debug.
    #
    # Here are the trace flags used for each sub system.  For message tracing, enable the line
    # corresponding to the desired detail level.
    #    log4j.logger.filenet_tracing.<SubSystem>.timer                   = debug
    #    log4j.logger.filenet_tracing.<SubSystem>.detail.moderate.summary = debug
    #    log4j.logger.filenet_tracing.<SubSystem>.detail.moderate         = debug
    #    log4j.logger.filenet_tracing.<SubSystem>.detail                  = debug
    #
    # For example:
    #    log4j.logger.filenet_tracing.engine.detail.moderate = debug
    #
    # NOTE: These entries are used only if -DskipTLC=true has been specified as
    #       a JVM argument.
    ######################################################################## 
    --><!-- By default, trace logging is turned off -->
    <logger name="filenet_tracing" additivity="false"> <level value="off"/>
    <appender-ref ref="FileNetTraceRollingAppender"/></logger>
    <!-- SubSystem: ejb -->
    <!-- logger name="filenet_tracing.ejb"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.ejb.timer"> <level value="debug"/>  
    </logger --><!-- logger name="filenet_tracing.ejb.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.ejb.detail.moderate"> <level value="debug"/>
    </logger --><logger name="filenet_tracing.ejb.detail"> <level value="debug"/></logger>
    <!-- SubSystem: security -->
    <!-- logger name="filenet_tracing.security">
    <level value="debug"/></logger --><!-- logger name="filenet_tracing.security.timer">
    <level value="debug"/></logger --><!-- logger name="filenet_tracing.security.detail.moderate.summary"> 
    <level value="debug"/></logger --><!-- logger name="filenet_tracing.security.detail.moderate">
    <level value="debug"/></logger --><logger name="filenet_tracing.security.detail"> <level value="debug"/>
    </logger><!-- SubSystem: database -->
    <!-- logger name="filenet_tracing.database"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.database.timer"> <level value="debug"/>  
    </logger --><!-- logger name="filenet_tracing.database.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.database.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.database.detail"> <level value="debug"/>  
    </logger --><!-- SubSystem: wsi -->
    <!-- logger name="filenet_tracing.wsi"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.wsi.timer"> <level value="debug"/>  
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.wsi.detail.moderate.summary"> <level value="debug"/>  
    </logger --><!-- logger name="filenet_tracing.wsi.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.wsi.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: api --><!-- logger name="filenet_tracing.api"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.api.timer"> <level value="debug"/>  
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.api.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.api.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.api.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: engine -->
    <!-- logger name="filenet_tracing.engine"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.engine.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.engine.detail.moderate.summary"> <level value="debug"/>  
    </logger --><!-- logger name="filenet_tracing.engine.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.engine.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: content_storage -->
    <!-- logger name="filenet_tracing.content_storage"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.content_storage.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.content_storage.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.content_storage.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.content_storage.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: events --><!-- logger name="filenet_tracing.events"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.events.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.events.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.events.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.events.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: fixed_content_provider -->
    <!-- logger name="filenet_tracing.fixed_content_provider"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.fixed_content_provider.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.fixed_content_provider.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.fixed_content_provider.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.fixed_content_provider.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: content_cache -->
    <!-- logger name="filenet_tracing.content_cache"> <level value="debug"/> 
    </logger --><!-- logger name="filenet_tracing.content_cache.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.content_cache.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.content_cache.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.content_cache.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: asynchronous_processing -->
    <!-- logger name="filenet_tracing.asynchronous_processing"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.asynchronous_processing.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.asynchronous_processing.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.asynchronous_processing.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.asynchronous_processing.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: cfs_daemon -->
    <!-- logger name="filenet_tracing.cfs_daemon"> <level value="debug"/> 
    </logger --><!-- logger name="filenet_tracing.cfs_daemon.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.cfs_daemon.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.cfs_daemon.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.cfs_daemon.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: ssi -->
    <!-- logger name="filenet_tracing.ssi"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.ssi.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.ssi.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.ssi.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.ssi.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: metadata_cache -->
    <!-- logger name="filenet_tracing.metadata_cache"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.metadata_cache.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.metadata_cache.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.metadata_cache.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.metadata_cache.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: cbr -->
    <!-- logger name="filenet_tracing.cbr"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.cbr.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.cbr.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.cbr.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.cbr.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: search -->
    <!-- logger name="filenet_tracing.search"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.search.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.search.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.search.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.search.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: gcd -->
    <!-- logger name="filenet_tracing.gcd"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.gcd.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.gcd.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.gcd.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.gcd.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: publish -->
    <!-- logger name="filenet_tracing.publish"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.publish.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.publish.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.publish.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.publish.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: code_module -->
    <!-- logger name="filenet_tracing.code_module"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.code_module.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.code_module.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.code_module.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.code_module.detail"> <level value="debug"/>
    </logger --><!-- SubSystem: error -->
    <!-- logger name="filenet_tracing.error"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.error.timer"> <level value="debug"/>
    </logger --><!-- ## Remove the comment corresponding to the desired detail level -->
    <!-- logger name="filenet_tracing.error.detail.moderate.summary"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.error.detail.moderate"> <level value="debug"/>
    </logger --><!-- logger name="filenet_tracing.error.detail"> <level value="debug"/>
    </logger --><!-- 
    ########################################################################
    # Waltz Loggers:
    ######################################################################## 
    --><category name="com.ibm.connections.directory.services" additivity="true"><priority value="debug"/>
    </category><category name="com.ibm.connections.httpClient" additivity="true"><priority value="debug"/>
    </category><category name="SonataHttpHeader" additivity="true"><priority value="debug"/></category><!-- 
    ########################################################################
    # Root Logger (Must go last):
    ######################################################################## 
    --><root><priority value="warn"/><appender-ref ref="WaltzFileAppender"/>
    <!-- appender-ref ref="FileNetTraceRollingAppender" / --></root></log4j:configuration>