Customizing log4j1 configuration using override extensibility

With override extensibility, you can customize log4j1 configuration by creating a copy of the application-provided log4jconfig.xml file and extending it.

About this task

To customize the log4j1 configuration using override extensibility, perform the following steps:

Procedure

  1. Copy the application-provided log4jconfig.xml file from <runtime_sandbox>/resources/ to runtime_sandbox>/extensions/global/resources and rename it as log4jconfig_custom.xml. Customize it based on your business requirement.
  2. In the customer_overrides.properties file, set the value of yfs.log4j.configuration property to /resources/extn/log4jconfig_custom.xml.
    Consider the following application-provided appended:
    <appender name="ALL" class="com.sterlingcommerce.woodstock.util.frame.logex.SCIAppender">
            <param name="rotateLogs" value="true" />
            <param name="maxLogSize" value="100000" />
            <param name="maxNumLogs" value="10" />
            <param name="file" value="/opt/OM/runtime/logs/sci${IBM_LOG_FILE}.log" />
            <layout class="com.sterlingcommerce.woodstock.util.frame.logex.SCICommonLayout">
                <param name="ConversionPatternRef" value="appender.ALL.pattern"/>
                <param name="DefaultConversionPattern" value="%d:%-7p:%t: %-60m [%X{AppUserId}]: [%X{TenantId}]: %-25c{1}%n"/>
            </layout>
            <filter class="com.sterlingcommerce.woodstock.util.frame.logex.SCICommonFilter" />
            <filter class="com.sterlingcommerce.woodstock.util.frame.logex.SCIPatternFilter" />
        </appender>
    To use override extensibility for the application-provided appender, override the appender in the <runtime_sandbox>/extensions/global/resources/log4jconfig_custom.xml file.
    <appender name="ALL" class="com.sterlingcommerce.woodstock.util.frame.logex.SCIAppender">
            <param name="rotateLogs" value="false" />
            <param name="maxLogSize" value="100000" />
            <!--<param name="maxNumLogs" value="10" />-->
            <param name="file" value="/opt/SSFS_9.5/runtime/logs/sci${IBM_LOG_FILE}_custom.log" />
            <layout class="com.sterlingcommerce.woodstock.util.frame.logex.SCICommonLayout">
                <param name="ConversionPatternRef" value="appender.ALL.pattern"/>
                <param name="DefaultConversionPattern" value="%d:%-8p:%t: %-60m [%X{AppUserId}]: [%X{TenantId}]: %-25c{1}%n"/>
            </layout>
            <filter class="com.abcdcorp.CustomFilter" />
            <filter class="com.sterlingcommerce.woodstock.util.frame.logex.SCICommonFilter" />
            <filter class="com.sterlingcommerce.woodstock.util.frame.logex.SCIPatternFilter" />
        </appender>
    Consider the following application-provided category:
    <category  name="com.ibm" class="com.yantra.yfc.log.YFCLogCategory" additivity="false" >
            <level class="com.yantra.yfc.log.YFCLogLevel" value="WARN"  />
             <appender-ref ref="CONSOLE" />
            <appender-ref ref="ALL" />
        </category>
    To use differential extensibility for the application-provided category, override the category in the <runtime_sandbox>/extensions/global/resources/deltalog4jconfig/log4jconfig.xml file.
    <category name="com.ibm" class="com.yantra.yfc.log.YFCLogCategory" additivity="false" >
            <level class="com.yantra.yfc.log.YFCLogLevel" value="WARN"  />
            <appender-ref ref="CONSOLE" />
            <appender-ref ref="ALL" />
            <appender-ref ref="CUSTOM_APPENDER" />
        </category>