<?xml version="1.0" encoding="utf-8" ?>
<log4net>
	<appender name="errorAppender" type="log4net.Appender.RollingFileAppender">
		<filter type="log4net.Filter.LevelMatchFilter">
			<levelToMatch value="ERROR" />
		</filter>
		<filter type="log4net.Filter.DenyAllFilter" />
		<file value="Logs\err.log" />
		<encoding value="utf-8"/>
		<preserveLogFileNameExtension value="true" />
		<appendToFile value="true" />
		<maxSizeRollBackups value="5"/>
		<maximumFileSize value="100MB"/>
		<rollingStyle value="Composite" />

		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
		</layout>
	</appender>
	<appender name="infoAppender" type="log4net.Appender.RollingFileAppender">
		<filter type="log4net.Filter.LevelMatchFilter">
			<levelToMatch value="INFO" />
		</filter>
		<filter type="log4net.Filter.DenyAllFilter" />
		<file value="Logs\info.log" />
		<encoding value="utf-8"/>
		<preserveLogFileNameExtension value="true" />
		<appendToFile value="true" />
		<rollingStyle value="Composite" />

		<maxSizeRollBackups value="5"/>
		<maximumFileSize value="100MB"/>
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
		</layout>
	</appender>
	<appender name="debugAppender" type="log4net.Appender.RollingFileAppender">
		<filter type="log4net.Filter.LevelMatchFilter">
			<levelToMatch value="DEBUG" />
		</filter>
		<filter type="log4net.Filter.DenyAllFilter" />
		<file value="Logs\debug.log" />
		<encoding value="utf-8"/>
		<preserveLogFileNameExtension value="true" />
		<appendToFile value="true" />
		<rollingStyle value="Composite" />
		<maxSizeRollBackups value="5"/>
		<maximumFileSize value="100MB"/>

		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
		</layout>
	</appender>
	<appender name="perfAppender" type="log4net.Appender.RollingFileAppender">
		<filter type="log4net.Filter.LevelMatchFilter">
			<levelToMatch value="INFO" />
		</filter>
		<filter type="log4net.Filter.DenyAllFilter" />
		<file value="Logs\perf.log" />
		<encoding value="utf-8"/>
		<preserveLogFileNameExtension value="true" />
		<appendToFile value="true" />
		<rollingStyle value="Composite" />
		<maxSizeRollBackups value="5"/>
		<maximumFileSize value="100MB"/>

		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date %logger - %message%newline" />
		</layout>
	</appender>
	<appender name="console" type="log4net.Appender.ColoredConsoleAppender">
		<mapping>
			<level value="ERROR" />
			<foreColor value="Red, HighIntensity" />
		</mapping>
		<mapping>
			<level value="Warn" />
			<foreColor value="Yellow,HighIntensity" />
		</mapping>
		<mapping>
			<level value="Info" />
			<foreColor value="White" />
		</mapping>
		<mapping>
			<level value="Debug" />
			<foreColor value="Purple, HighIntensity" />
		</mapping>
		<layout type="log4net.Layout.PatternLayout">
			<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
		</layout>
	</appender>
	<root>
		<level value="Info" />
		<appender-ref ref="errorAppender" />
		<appender-ref ref="infoAppender" />
		<appender-ref ref="debugAppender" />
		<appender-ref ref="console" />
	</root>
	<logger name="Performance" additivity="false">
		<level value="Info" />
		<appender-ref ref="perfAppender" />
	</logger>
</log4net>