B Annotated Loggingconfig.xml

The following sample logging configuration file controls the described aspects of configuration.

Table B-1 describes the different sections of loggingconfig.xml.

Table B-1 Loggingconfig.xml Sections

Section Description and parameters

Message Resourcebundles specification

Defines the resource bundle names and their locations in the JAVA library packages. This section must never be modified unless instructed by Oracle Global Customer Support.

pluggable interface specification

Implementation classes for the logging framework. This section must never be modified unless instructed by Oracle Global Customer Support.

SQL Tracing configuration

Captures SQL debugging messages when JDBCTrace module's debug value is also set to "on."

Only one parameter can be changed:

<param name="debug" value="off"/>

JDBC Trace

Defines the maximum number of rows that a user is allowed to retrieve and describes the threshold of the "too-many-rows" alert.

Two parameters can be changed:

<param name="query-results-row-limit" value="32000"/>

<param name="too-many-rows-alert-threshold" value="20000"/>

Logging File specification and configuration

Describes whether log file information is appended or written over, log file size, archiving specifications.

Category

Modules and components for which event levels can be set. Valid levels are "fatal," "error," "warn," "info," and "debug" in decreasing order of severity.


Review the boldfaced comments that precede boldfaced parameters in Example B-1 to understand how to change this file when necessary.

Example B-1 The Loggingconfig.xml File Text

<?xml version="1.0" encoding="UTF-8" ?>
<!-- <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> -->
<!DOCTYPE mslvlog:configuration SYSTEM "mslvlog.dtd">
<mslvlog:configuration xmlns:mslvlog="http://www.metasolv.com/logging/">
******* START of Message Resourcebundles specification ****
The following section must never be modified.
<!-- The following defines the resource bundle names and their locations
       in the java library packages. The resource bundles are used for
       looking up detail, cause and action element values for the given
       message key.
   -->
    <mslv-message-repositories>
<message-bundle category="log">
             <param name="MessageBundleName" value="com.mslv.core.global.ResourceBundles.error.ErrorDescriptions"/>
        </message-bundle>
<message-bundle category="attr">
             <param name="MessageBundleName" value="MSLVAttrMessages"/>
        </message-bundle>
<message-bundle category="key">
             <param name="ExtensionBundleName" value="MSLVKeyExtensions"/>
        </message-bundle>
</mslv-message-repositories>
******** END of Message Resourcebundles specification.
******* Start of pluggable interface specification ****
******* Never needs to modified by the user ****
<!--
         The following defines various pluggable implementation classes
        for the logging framework. One can replace the default ones
        provided here, with their own implementation classes.
   -->
    <mslv-log-api>
         <param name="logContextFactoryClassName" value="com.metasolv.common.framework.logging.MSLVLogContextFactoryDefaultImpl"/>
         <param name="logContextClassName" value="com.metasolv.common.framework.logging.MSLVLogContextDefaultImpl"/>
         <param name="logMessageContextClassName" value="com.metasolv.common.framework.logging.MSLVMessageContextDefaultImpl"/>
         <param name="logAppContextClassName" value="com.metasolv.common.framework.logging.MSLVAppContextDefaultImpl"/>
<!--
You can add your own custom severity level here. This is shown as an example. The values supplied here must not re-specify the values of any levels in org.apache.log4j.Priority class.
         -->
         <param name="alertLevelIntValue" value="60000"/>
         <param name="perfLevelIntValue" value="25000"/>
    </mslv-log-api>
******* End of pluggable interface specification ****
******** Start of SQL Tracing configuration *******
    <!-- In the future, this could also define a timeout attribute -->
    <mslv-apps>
         <db-server-trace>
               <param name="SCHINTAL" value="off"/>
         </db-server-trace>
         <jdbc-trace>
// on/off. Must also change cmm.JDBCTrace module's debug value to
       "on", when this is "on" to get full SQL debugging messages.
<param name="debug" value="off"/> 
<param name="query-results-row-limit" value="32000"/>
<param name="too-many-rows-alert-threshold" value="20000"/>
</jdbc-trace>
    </mslv-apps>
******** end of SQL Tracing configuration

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

******* Start of Logging File specification and configuration ****

  <appender name="XMLFileApp" class="org.apache.log4j.RollingFileAppender">
      <param name="ImmediateFlush" value="true"/>
**** true: means when App Server is restarted, the existing files will NOT be overwritten. The new content will be appended. 
If it is false:, each appserver is restarted, the active logging file will be truncated to zero length (emptied). We recommend leaving this
as 'true.'
      <param name="append" value="true"/>
**** Max file size, before a rollover for archiving takes place.
      <param name="MaxFileSize" value="10000KB"/>
***** How many files to keep in the backup. Keep this at least 1.
      <param name="MaxBackupIndex" value="10"/>
****** The main logging file. Archives will be named with a .1, .2..., .10 appended to this. We don't recommend changing this filename or its location.
      <param name="File" value="${mslv.log.dir}/appserverlog.xml"/>
      <layout class="com.metasolv.common.framework.logging.api.log4jext.xml.MSLVXMLLayout">
      </layout>
  </appender>

  <appender name="AuditFileApp" class="org.apache.log4j.RollingFileAppender">
      <param name="ImmediateFlush" value="true"/>
      <param name="append" value="true"/>
      <param name="MaxFileSize" value="10000KB"/>
      <param name="MaxBackupIndex" value="10"/>

      <param name="File" value="${mslv.log.dir}/appserver_auditlog.xml"/>
      <layout class="com.metasolv.common.framework.logging.api.log4jext.xml.MSLVXMLLayout">
      </layout>
  </appender>

  <appender name="ConsoleApp" class="org.apache.log4j.ConsoleAppender">
      <param name="ImmediateFlush" value="true"/>
      <param name="Threshold" value="debug"/>
      <param name="Target" value="System.out"/>
      <layout class="com.metasolv.common.framework.logging.api.log4jext.xml.MSLVXMLLayout">
      </layout>
  </appender>

  <appender name="MinimalConsoleApp" class="org.apache.log4j.ConsoleAppender">
      <param name="ImmediateFlush" value="true"/>
      <param name="Threshold" value="debug"/>
      <param name="Target" value="System.out"/>
      <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="%-5p - %-15c - %m%n"/>
      </layout>
  </appender>

  <appender name="WeblogicLogApp" class="com.metasolv.common.framework.logging.api.log4jext.WeblogicAppender">
      <layout class="org.apache.log4j.PatternLayout">
           <param name="ConversionPattern" value="%-5p - %-15c - %m%n"/>
      </layout>
  </appender>

  <appender name="XMLFileAppNew" class="org.apache.log4j.RollingFileAppender">
      <param name="ImmediateFlush" value="true"/>
      <param name="append" value="true"/>
      <param name="MaxFileSize" value="10000KB"/>
      <param name="MaxBackupIndex" value="10"/>
      <param name="File" value="${mslv.log.dir}/appserverlog_misc.xml"/>
      <layout class="com.metasolv.common.framework.logging.api.log4jext.xml.MSLVXMLLayout">
      </layout>
  </appender>

******* End of Logging File Specification and configuration

<!-- Asynchronous appender to receive events, buffer them and log
        them to WebLogic Logging Module in a non-blocking manner.
        If you have multiple slow appenders, then define wrap each
        appender inside another unique async appender to log asynchronously.
   -->
   <appender name="MSLVWLAsyncApp" class="com.metasolv.common.framework.logging.api.log4jext.MSLVAsyncAppender">
      <appender-ref ref="XMLFileApp"/>
      <appender-ref ref="WeblogicLogApp"/>
   </appender>

  <!--
     This is the single receiver category of all the Logging messages in this JVM.
     Setting severity level on this, will affect what gets logged to the
     variety of destination branching off from this category, such as
     XMLFileApp (appserverlog.xml).
  -->
  <category name="mls" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value="debug" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
      <appender-ref ref="XMLFileApp"/>
    <!-- If you are going to use a slow appender like WeblogicLogApp, then
         wrap all appenders inside a MSLVAsyncApp and use it here.
      <appender-ref ref="MSLVAsyncApp"/>
     -->
</category>

  <!--
     This is an example of how to hierarchically override the super receiver
     category with a child category. 
     Setting severity level on this, will affect what gets logged to the
     variety of destination branching off from this category, such as
     XMLFileApp (appserverlog.xml).
  -->
  <category name="mls.cmm.TEST" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
      <appender-ref ref="XMLFileApp"/>
    <!-- If you are going to use a slow appender like WeblogicLogApp, then
         wrap all appenders inside a MSLVAsyncApp and use it here.
      <appender-ref ref="MSLVAsyncApp"/>
     -->
</category>

  <!--
Category definitions, one for each logging module.
  -->
  <category name="cmm.appserver" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
****** An error level can be re-defined for each module. 
****** Valid values are: fatal, error, warn, info, debug, in the decreasing order of severity. We recommend them leaving these at the shown values. On the other hand, turning a level down to info/debug level could have adverse impact on the performance of the system, as verbose logging will take place.
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.ASR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
  <category name="cmm.CA" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.CaCache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.CONVERSION" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.DLR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.DLR_Equipment" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.DLR_NGN_Activation" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.DLR_Circuit" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.EventServer" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.Event2Server" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.Framework" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
</category>
<category name="cmm.Framework.Cache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
</category>
<category name="cmm.GLR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.invFromPB" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.Infrastructure" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.Infrastructure_NetworkLocation" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.INTEGRATION_CONVERSION" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.WORK_MANAGEMENT_CONVERSION" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.INTEGRATION_EVENT_SERVER" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.INTEGRATION_MANAGER" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
***** This is the other parameter that needs to be tuned for **** getting the SQL Logging going. Change the level to debug to get the logging going, in addition to changing it at the top of this file, for the parameter named jdbc-trace
  <category name="cmm.JDBCTrace" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.LSR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.MSLVSessionBean" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.NetworkManagement" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.NetProv" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.NetProv_Plant" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.NetProv_Activation" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.NI" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.PSR" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.E911" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.CNAM" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.LIDB" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.PSRAncillary" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.PSREUB" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.Security" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="debug" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="AuditFileApp"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.SYSTEM" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.TEST" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="debug" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.TimedEventProcess" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.TMS" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.TroubleBatchWorkerThread" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.KeepAliveTroubleBatch" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.WDI" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.WM" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="cmm.WM_TskSv" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="com.mslv.webapp.context.action.MSLVRequestProcessor" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache.struts.util.PropertyMessageResources" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<!-- Tiles stuff from NavBar -->
  <category name="org.apache.struts.tiles.TilesRequestProcessor" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<!-- JCS stuff -->
  <category name="org.apache.jcs.engine.control.CompositeCacheConfigurator" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache.jcs.engine.memory.lru.LRUMemoryCache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache.jcs.engine.control.CompositeCache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache.jcs.config.OptionConverter" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache.jcs.auxillary.disk.indexed.IndexedDiskCache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<category name="org.apache.jcs.auxillary.javagroups.JavaGroupsCache" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLogger" additivity="false">
    <level value ="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileApp"/>
  </category>
<root>
    <level value="error" class="com.metasolv.common.framework.logging.api.log4jext.MSLVLevel"/>
    <appender-ref ref="XMLFileAppNew"/>
  </root>
<!--
  <root>
    <level value="error" class="org.apache.log4j.Level"/>
    <appender-ref ref="XMLFileApp"/>
  </root>
-->
</log4j:configuration> 
</mslvlog:configuration>