B Annotated Logging Configuration Files

The following sample logging configuration files control the described aspects of configuration.

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

Table B-1 Sections of the loggingconfig.xml File

Section Description and parameters

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.

Table B-2 describes the different sections of mslvloggingconfig.xml.

Table B-2 Sections of the mslvloggingconfig.xml File

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"/>

Review the boldfaced comments that precede boldfaced parameters in Example B-1 and Example B-2 to understand how to change these files when necessary.

Example B-1 The loggingconfig.xml File Text

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" strict="true">
<!--
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.
         -->
    <!-- The Alert and Perf custom levels are used in MSS. If you would like, you can change the int levels below-->
    <CustomLevels>
        <CustomLevel name="PERF" intLevel="350" />
	 <CustomLevel name="ALERT" intLevel="50" /> 
    </CustomLevels>
******* 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.'
     <Appenders>

****** 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.
        <RollingFile name="appserverLog" fileName="${sys:mslv.log.dir}/appserver.log" 
        filePattern="${sys:mslv.log.dir}/appserver-%i.log">             
            <PatternLayout>
                <pattern>%d{MM-dd-yyyy HH:mm:ss,SSS}|%p|%m%n</pattern>
            </PatternLayout>
            <Policies>
**** Max file size, before a rollover for archiving takes place.
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
***** How many files to keep in the backup. Keep this at least 1.
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
 
 	<RollingFile name="appserverAuditLog" fileName="${sys:mslv.log.dir}/appserver_audit.log" 
        filePattern="${sys:mslv.log.dir}/appserver_audit-%i.log">             
            <PatternLayout>
                <pattern>%d{MM-dd-yyyy HH:mm:ss,SSS}|%p|%m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>

        <RollingFile name="appserverMiscLog" fileName="${sys:mslv.log.dir}/appserverlog_misc.log" 
        filePattern="${sys:mslv.log.dir}/appserverlog_misc-%i.log">             
            <PatternLayout>
                <pattern>%d{MM-dd-yyyy HH:mm:ss,SSS}|%p|%m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="10 MB" />
            </Policies>
            <DefaultRolloverStrategy max="10"/>
        </RollingFile>
    </Appenders>
******* End of Logging File Specification and configuration
<!--
Logger definitions, one for each logging module.
  -->
****** 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.
    <Loggers>
        
		<logger name="cmm.appserver" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.CA" level ="error" additivity = "false"  >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.CaCache" level ="error" additivity = "false"  >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.CONVERSION" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="ConnectionAccessManager" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="ConnectionDesigner" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Desktop" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.DLR" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.DLR_Equipment" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.equip" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.DLR_NGN_Activation" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.DLR_Circuit" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.EventServer" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Event2Server" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Framework" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Framework.Cache" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.GLR" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.invFromPB" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Infrastructure" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Infrastructure_NetworkLocation" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.INTEGRATION_CONVERSION" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.WORK_MANAGEMENT_CONVERSION" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.INTEGRATION_EVENT_SERVER" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.INTEGRATION_MANAGER" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.JDBCTrace" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="LOGIN" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.MSLVSessionBean" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.NetworkManagement" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.NetProv" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.NetProv_Plant" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.NetProv_Activation" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.NI" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.NUMBER_INVENTORY" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="ProjectManager" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="PortAccessManager" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.PSR" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="ResourceAssigner" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.E911" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.CNAM" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.LIDB" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="MSLVContextPoolFactory" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.PSRAncillary" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.PSREUB" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Security" level ="info" additivity = "false">
		<appender-ref ref="appserverAuditLog"/>
		</logger>
		<logger name="cmm.System" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.TEST" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.TimedEventProcess" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.TMS" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.TroubleBatchWorkerThread" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.KeepAliveTroubleBatch" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.WDI" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.WM" level ="error" additivity = "false">
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.WM_TskSv" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="WorkOrderManager" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="WorkspaceItem" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="WorkspaceItemManager" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="WorkspaceManager" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Groom" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Work" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="cmm.Trunk" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="CustomExtensionInternal" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="CustomExtensionExternal" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="com.mslv.webapp.context.action.MSLVRequestProcessor" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="org.apache" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="org.apache.struts.util.PropertyMessageResources" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="org.apache.struts.tiles.TilesRequestProcessor" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="CustomExtensionExternal" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="CustomExtensionExternal" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
		<logger name="CustomExtensionExternal" level ="error" additivity = "false" >
		<appender-ref ref="appserverLog"/>
		</logger>
        
  	<Root level="error">
            <AppenderRef ref="appserverMiscLog" />
        </Root>
    </Loggers>
</configuration>

Example B-2 The mslvloggingconfig.xml File Text

<?xml version="1.0" encoding="UTF-8"?>
<mslvlogconfiguration>
<!-- NAME  mslvloggingConfig.xml -->
******* 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"/>
    </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="ASAP" value="off"/>
         </db-server-trace>
         <jdbc-trace>
               <param name="debug" value="off"/>
                // on/off. Must also change JDBCTrace module's debug value to
                   "on", when this is "on" to get full SQL debugging messages. 
               <param name="query-results-row-limit" value="32000"/>
               <param name="too-many-rows-alert-threshold" value="20000"/>
         </jdbc-trace>

         <vv-cache>
               <param name="disable" value="false"/>
               <param name="validityDuration" value="300"/>
         </vv-cache>
         <metrics>
               <param name="oper" value="off"/>
         </metrics>
    </mslv-apps>
******** end of SQL Tracing configuration
</mslvlogconfiguration>