The following example is a SAS logging facility configuration
file that includes ARMAppender:
<?xml version="1.0" encoding="UTF-8"?>
<logging:configuration xmlns:logging="http://www.sas.com/xml/logging/1.0/">
<appender class="FileAppender" name="ARM2LOG">
<param name="File" value="arm2.log"/>
<param name="ImmediateFlush" value="true"/>
<layout>
<param name="ConversionPattern" value="%X{ARM2.Record}"/>
</layout>
</appender>
<appender class="FileAppender" name="ARM4LOG">
<param name="File" value="arm4.log"/>
<param name="ImmediateFlush" value="true"/>
<layout>
<param name="ConversionPattern"
value="%d,
%12X{App.Name},
%14X{ARM.GroupName},
%12X{ARM.TranName},
%8X{ARM.TranState},
%8X{ARM.TranStatus},
%20X{ARM.TranStart.Time},
%20X{ARM.TranStop.Time},
%56X{ARM.ParentCorrelator},
%56X{ARM.CurrentCorrelator}
"/>
</layout>
</appender>
<appender class="ARMAppender" name="ARM">
<param name="Encoding" value="UTF-8"/>
<param name="GetTimes" value="true"/>
<param name="ManageCorrelators" value="true"/>
<param name="AppName" value="yourSampleApp"/>
<param name="GroupName" value="SAS"/>
<appender-ref ref="ARM4LOG"/>
<appender-ref ref="ARM2LOG"/>
</appender>
<appender class="FileAppender" name="LOG">
<param name="File" value="root.log"/>
<param name="ImmediateFlush" value="true"/>
<layout>
<param name="ConversionPattern" value="%d %c %m"/>
</layout>
</appender>
<logger name="Perf.ARM" additivity="false">
<level value="info"/>
<appender-ref ref="ARM"/>
</logger>
<root>
<level value="info"/>
<appender-ref ref="LOG"/>
</root>
</logging:configuration>