<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
</configSections>
<log4net>
<appender name="smtp" type="HHR.log4net.Appender.NonBufferedSmtpAppenderWithSubjectLayout, HHR.log4net">
<to value="myname@mycompany.com" />
<from value="myapplicationname@mycompany.com" />
<subject type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%date %level %exceptType at [%logger] on %property{log4net:HostName} by %username" />
</subject>
<smtpHost value="smtp.mycompany.com" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value=
"Date: %date
Timestamp: %timestamp
Hostname: %property{log4net:HostName}
Identity: %identity
Username: %username
Appdomain: %appdomain
Thread: %thread
File: %file
Location: %location
Line: %line
Type: %type
Level: %level
Logger: %logger
Ndc: %ndc
Message: %message
ExceptionType: %exceptType
Exception: %exception
%newline"
/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="FATAL" />
</filter>
</appender>
<appender name="trace" type="log4net.Appender.TraceAppender, log4net">
<layout type="log4net.Layout.PatternLayout, log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%ndc] <%property{user}> - %message%newline%exception%newline" />
</layout>
</appender>
<appender name="console" type="log4net.Appender.ConsoleAppender, log4net">
<layout type="log4net.Layout.PatternLayout, log4net">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%ndc] <%property{user}> - %message%newline%exception%newline" />
</layout>
</appender>
<appender name="file" type="log4net.Appender.RollingFileAppender, log4net" >
<param name="File" value="Log\log.txt" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="DatePattern" value="yyyy.MM.dd" />
<param name="StaticLogFileName" value="true" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value=
"Date: %date
Timestamp: %timestamp
Hostname: %property{log4net:HostName}
Identity: %identity
Username: %username
Appdomain: %appdomain
Thread: %thread
File: %file
Location: %location
Line: %line
Type: %type
Level: %level
Logger: %logger
Ndc: %ndc
Message: %message
ExceptionType: %exceptType
Exception: %exception
%newline"
/>
</layout>
</appender>
<appender name="eventlog" type="log4net.Appender.EventLogAppender" >
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value=
"Date: %date
Timestamp: %timestamp
Hostname: %property{log4net:HostName}
Identity: %identity
Username: %username
Appdomain: %appdomain
Thread: %thread
File: %file
Location: %location
Line: %line
Type: %type
Level: %level
Logger: %logger
Ndc: %ndc
Message: %message
ExceptionType: %exceptType
Exception: %exception
%newline"
/>
</layout>
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="WARN" />
<levelMax value="FATAL" />
</filter>
</appender>
<appender name="db" type="log4net.Appender.AdoNetAppender">
<bufferSize value="100" />
<connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="Integrated Security=SSPI; server=build1-srv; database=log4netDev" />
<commandText value="INSERT INTO Log ([Date], [TimeStamp], [Property_HostName], [Identity],
[UserName], [AppDomain], [Thread], [File], [Location], [Line], [Type], [Level],
[Logger], [Ndc], [Message], [ExceptionType], [Exception]) VALUES (@log_date,
@log_timestamp, @log_property_hostname, @log_identity, @log_username, @log_appdomain,
@log_thread, @log_file, @log_location, @log_line, @log_type, @log_level, @log_logger,
@log_ndc, @log_message, @log_exceptiontype, @log_exception)" />
<parameter>
<parameterName value="@log_date" />
<dbType value="DateTime" />
<layout type="log4net.Layout.RawTimeStampLayout" />
</parameter>
<parameter>
<parameterName value="@log_timestamp" />
<dbType value="Int32" />
<size value="4" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%timestamp" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_property_hostname" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%property{log4net:HostName}" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_identity" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%identity" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_username" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%username" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_appdomain" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%appdomain" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_thread" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%thread" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_file" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%file" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_location" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%location" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_line" />
<dbType value="Int32" />
<size value="4" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%line" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_type" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%type" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_level" />
<dbType value="String" />
<size value="50" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%level" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_logger" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%logger" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_ndc" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%ndc" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_message" />
<dbType value="String" />
<size value="4000" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%message" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_exceptiontype" />
<dbType value="String" />
<size value="255" />
<layout type="HHR.log4net.Layout.PatternLayout, HHR.log4net">
<conversionPattern value="%exceptType" />
</layout>
</parameter>
<parameter>
<parameterName value="@log_exception" />
<dbType value="String" />
<size value="2000" />
<layout type="log4net.Layout.ExceptionLayout" />
</parameter>
</appender>
<root>
<!-- priority value can be set to ALL|INFO|WARN|ERROR -->
<priority value="DEBUG" />
<appender-ref ref="smtp" />
<appender-ref ref="trace" />
<appender-ref ref="console" />
<appender-ref ref="file" />
<appender-ref ref="eventlog" />
<appender-ref ref="db" />
</root>
</log4net>
</configuration>