<?xml version="1.0" encoding="utf-8" ?>
<log4net debug="true">

	<!-- STANDARDNÍ APPENDER PRO LOGOVÁNÍ DO MSSQL DATABÁZE -->
	<appender name="AdoDbAppender" type="log4net.Appender.AdoNetAppender">
		<ReconnectOnError value="true" />
		<bufferSize value="1" />
		<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
		<connectionString type="log4net.Util.PatternString" value= "%property{DB_CONNECTION_STRING}" />
		<commandType value="StoredProcedure" />
		<commandText value="SYS_Log_Save" />

		<parameter>
			<parameterName value="@AppSessionID" />
			<dbType value="Int32" />
			<layout type="log4net.Layout.RawPropertyLayout">
				<key value="APP_SESSION_ID" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@ContextSessionID" />
			<dbType value="Guid" />
			<layout type="log4net.Layout.RawPropertyLayout">
				<key value="CONTEXT_SESSION_ID" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@AppEventDate" />
			<dbType value="DateTime" />
			<layout type="log4net.Layout.RawTimeStampLayout" />
		</parameter>

		<parameter>
			<parameterName value="@UserName" />
			<dbType value="String" />
			<layout type="log4net.Layout.RawPropertyLayout">
				<key value="APP_USERNAME" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@Thread" />
			<dbType value="String" />
			<size value="100" />
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%thread" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@Level" />
			<dbType value="String" />
			<size value="5" />
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%level" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@Logger" />
			<dbType value="String" />
			<size value="255" />
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%logger" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@Context" />
			<dbType value="String" />
			<size value="100" />
			<layout type="log4net.Layout.RawPropertyLayout">
				<key value="CONTEXT" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@Message" />
			<dbType value="String" />
			<size value="4000" />
			<layout type="log4net.Layout.PatternLayout">
				<conversionPattern value="%message" />
			</layout>
		</parameter>

		<parameter>
			<parameterName value="@Exception" />
			<dbType value="String" />
			<size value="2000" />
			<layout type="log4net.Layout.ExceptionLayout" />
		</parameter>
	</appender>



	<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
		<layout type="log4net.Layout.PatternLayout">
			<conversionpattern value="[--- L O G G I N G ---] %date [%-5level] [%-5thread] [%logger] - %message%newline"></conversionpattern>
		</layout>
	</appender>



	<root>
		<level value="DEBUG" />
		<appender-ref ref="ConsoleAppender" />
		<appender-ref ref="AdoDbAppender" />
	</root>

</log4net>