<?xml version="1.0" encoding="utf-8" ?>

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<targets async="true">
		<target name="ServerDebug" xsi:type="File"
				openFileCacheTimeout="10"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Debug.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Debug.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
	</targets>

	<targets async="true">
		<target name="ServerInfo" xsi:type="File"
				bufferSize="10240"
				openFileCacheTimeout="30"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Info.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Info.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="ServerWarn" xsi:type="File"
				bufferSize="10240"
				openFileCacheTimeout="30"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Warn.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Warn.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="ServerError" xsi:type="File"
				openFileCacheTimeout="10"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Error.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Error.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="ErrorConsole" xsi:type="Console" layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="RobotDebug" xsi:type="File"
				openFileCacheTimeout="10"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Debug.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Debug.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
	</targets>

	<targets async="true">
		<target name="RobotInfo" xsi:type="File"
				bufferSize="10240"
				openFileCacheTimeout="30"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Info.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Info.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="RobotWarn" xsi:type="File"
				bufferSize="10240"
				openFileCacheTimeout="30"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Warn.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Warn.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="RobotError" xsi:type="File"
				openFileCacheTimeout="10"
				keepFileOpen="true"
				archiveNumbering="Date"
				archiveEvery="Hour"
				archiveDateFormat="yyyyMMddHH"
				archiveFileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.{#}.Error.log"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.${date:format=yyyyMMddHH}.Error.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${message}" />
	</targets>

	<targets async="true">
		<target name="Watcher" xsi:type="File"
				openFileCacheTimeout="10"
				keepFileOpen="true"
				fileName="${basedir}/../Logs/${logger}.${var:appIdFormat}.Debug.log"
				deleteOldFileOnStartup="false"
				layout="${longdate} ${callsite:className=false:methodName=false:fileName=true:includeSourcePath=false:skipFrames=2} ${message}" />
	</targets>

	<targets async="true">
		<target name="RobotConsole" xsi:type="Console" layout="${message}" />
	</targets>

	<rules>
		<logger ruleName="ServerDebug" name="Server" minlevel="Trace" maxlevel="Error" writeTo="ServerDebug" />
		<logger ruleName="ServerInfo" name="Server" minlevel="Info" maxlevel="Info" writeTo="ServerInfo" />
		<logger ruleName="ServerWarn" name="Server" minlevel="Warn" maxlevel="Warn" writeTo="ServerWarn" />
		<logger ruleName="ServerError" name="Server" minlevel="Error" maxlevel="Error" writeTo="ServerError" />
		<logger ruleName="ErrorConsole" name="Server" minlevel="Warn" maxlevel="Error" writeTo="ErrorConsole" />
		<logger ruleName="RobotDebug" name="Robot" minlevel="Trace" maxlevel="Error" writeTo="RobotDebug" />
		<logger ruleName="RobotInfo" name="Robot" minlevel="Trace" maxlevel="Error" writeTo="RobotInfo" />
		<logger ruleName="RobotWarn" name="Robot" minlevel="Warn" maxlevel="Warn" writeTo="RobotWarn" />
		<logger ruleName="RobotError" name="Robot" minlevel="Error" maxlevel="Error" writeTo="RobotError" />
		<logger ruleName="RobotConsole" name="Robot" minlevel="Info" maxlevel="Error" writeTo="RobotConsole" />
		<logger ruleName="Watcher" name="Watcher" minlevel="Trace" maxlevel="Error" writeTo="Watcher" />
	</rules>
</nlog>