<configuration>
	<appender name="SLOW"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!-- overview will not contain debug information, just info and above -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
		<!-- log file name -->
		<file>logs/slow.log</file>
		<!-- rolling policy ensuring proper log rotation and archiving -->
		<rollingPolicy
			class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<fileNamePattern>
				logs/archive/slow-%d{HHmm}.%i.zip
			</fileNamePattern>
			<maxHistory>5</maxHistory>
			<maxFileSize>100kB</maxFileSize>
		</rollingPolicy>
		<!-- encoder with appropriate pattern for log formatting -->
		<encoder
			class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%-20(%d{MM/dd/yy HH:mm:ss.SSS} %-5level) %msg %ex{2} [%file:%line]%n</pattern>
		</encoder>
	</appender>

	<appender name="FAST"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<!-- log file name -->
		<file>logs/fast.log</file>
		<!-- rolling policy ensuring proper log rotation and archiving -->
		<rollingPolicy
			class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
			<fileNamePattern>
				logs/archive/fast-%d{HHmm}.%i.zip
			</fileNamePattern>
			<maxHistory>5</maxHistory>
			<maxFileSize>100kB</maxFileSize>
		</rollingPolicy>
		<!-- encoder with appropriate pattern for log formatting -->
		<encoder
			class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
			<pattern>%-20(%d{MM/dd/yy HH:mm:ss.SSS} %-5level) %msg %ex{2} [%file:%line]%n</pattern>
		</encoder>
	</appender>

	<!-- root logger to handle all logging -->
	<root level="DEBUG">
		<appender-ref ref="SLOW" />
		<appender-ref ref="FAST" />
	</root>
</configuration>