-#Metrics appender - not used so commented out
-#log4j2.appender.metrics.type = RollingRandomAccessFile
-#log4j2.appender.metrics.name = MetricsRollingFile
-#log4j2.appender.metrics.fileName = ${logDirectory}/${metricsLogName}.log
-#log4j2.appender.metrics.filePattern = ${logDirectory}/${metricsLogName}.log.%i
-#log4j2.appender.metrics.append = true
-#log4j2.appender.metrics.layout.type = PatternLayout
-#log4j2.appender.metrics.layout.pattern = ${log4j2.pattern}
-#log4j2.appender.metrics.policies.type = Policies
-#log4j2.appender.metrics.policies.size.type = SizeBasedTriggeringPolicy
-#log4j2.appender.metrics.policies.size.size = ${maxFileSize}
+log4j2.appender.audit.type = RollingRandomAccessFile
+log4j2.appender.audit.name = AuditFile
+log4j2.appender.audit.fileName = ${logDirectory}/${auditLogName}.log
+log4j2.appender.audit.filePattern = ${logDirectory}/${auditLogName}.log.%i
+# uncomment to not force a disk flush
+#log4j2.appender.audit.immediateFlush = false
+log4j2.appender.audit.append = true
+log4j2.appender.audit.layout.type = PatternLayout
+log4j2.appender.audit.layout.pattern=%X{EntryTimestamp}|%X{LogTimestamp}|%X{RequestID}|%X{ServiceInstanceID}|%-16.16t|%X{ServerFQDN}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDesc}|%X{InstanceID}|INFO|%X{Severity}|%X{ServerIPAddress}|%X{ElapsedTime}|%X{ServerFQDN}|%X{ClientIPAddress}|%C{1}|%X{AUDIT-Unused}|%X{AUDIT-ProcessKey}|%X{slf4j.marker}|%X|%X{currentGraph} - %X{nodeId}|${log4j2.bundle.info}|%m%n
+log4j2.appender.audit.policies.type = Policies
+log4j2.appender.audit.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.audit.policies.size.size = ${maxFileSize}
+log4j2.appender.audit.strategy.type = DefaultRolloverStrategy
+log4j2.appender.audit.strategy.max = ${maxBackupIndex}
+log4j2.appender.audit.strategy.fileIndex = min
+
+log4j2.appender.rr.name = RequestResponseFile
+log4j2.appender.rr.type = RollingRandomAccessFile
+log4j2.appender.rr.fileName = ${logDirectory}/${requestResponseLogName}.log
+log4j2.appender.rr.filePattern = ${logDirectory}/${requestResponseLogName}.log.%i
+log4j2.appender.rr.immediateFlush = false
+log4j2.appender.rr.append = true
+log4j2.appender.rr.layout.type = PatternLayout
+log4j2.appender.rr.layout.pattern = %d{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestID}|%X{PartnerName}|%m%n
+log4j2.appender.rr.policies.type = Policies
+log4j2.appender.rr.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.rr.policies.size.size = 50MB
+log4j2.appender.rr.strategy.type = DefaultRolloverStrategy
+log4j2.appender.rr.strategy.max = 100
+log4j2.appender.rr.strategy.fileIndex = min
+
+log4j2.appender.security.type = RollingRandomAccessFile
+log4j2.appender.security.name = SecurityFile
+log4j2.appender.security.fileName = ${logDirectory}/${securityLogName}.log
+log4j2.appender.security.filePattern = ${logDirectory}/${securityLogName}.log.%i
+log4j2.appender.security.append = true
+log4j2.appender.security.layout.type = PatternLayout
+log4j2.appender.security.layout.pattern = ${log4j2.pattern}
+log4j2.appender.security.policies.type = Policies
+log4j2.appender.security.policies.size.type = SizeBasedTriggeringPolicy
+log4j2.appender.security.policies.size.size = ${maxFileSize}