<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" monitorInterval="30">
  <Properties>
    <Property name="FilePattern">App_%d{yyyy-MM-dd}.log</Property>
    <Property name="PatternLayout">%x%X [%d{DEFAULT}][%-20t]%-5p(%-40.40C{3}:%-3L) - %m%n</Property>
  </Properties>

  <Appenders>
    <Console name="console-log" target="SYSTEM_OUT">
      <PatternLayout pattern="${PatternLayout}"/>
    </Console>

    <!-- either of the following 2 variations in declaration of the RollingFile have the same issue -->
    <!-- RollingFile name="file-log" fileName="base.log" filePattern="${FilePattern}" -->

    <RollingFile name="file-log" filePattern="${FilePattern}" bufferedIO="true" immediateFlush="true">
      <PatternLayout pattern="${PatternLayout}"/>
      <Policies>
        <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
      </Policies>
      <DirectWriteRolloverStrategy maxFiles="10"/> <!-- maxFiles attribute does not appear to work - older files are not being deleted -->
    </RollingFile>
  </Appenders>

  <Loggers>
    <Root level="all">
      <AppenderRef ref="console-log"/>
      <AppenderRef ref="file-log"/>
    </Root>
  </Loggers>
</Configuration>
