I wrote the following appender
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<appender name="DatabaseAppender" type="log4net.Appender.AdoNetAppender">
<bufferSize value="0" />
<connectionString value="Provider=ASAProv.90;Eng=databasename;Uid=UserId;Pwd=Pwd; Links=tcpip" />
<commandText value="insert into EVENT_LOG(DATE, THREAD, LEVEL, LOGGER, MESSAGE, EXCEPTION) values (?, ?, ?, ?, ?, ?)" />
<parameter>
<parameterName value="@DATE" />
<dbType value="DateTime" />
<size value="255" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date{yyyy'-'MM'-'dd HH':'mm}" />
</layout>
</parameter>
<parameter>
<parameterName value="@THREAD" />
<dbType value="AnsiString" />
<size value="500" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%THREAD" />
</layout>
</parameter>
<parameter>
<parameterName value="@LEVEL" />
<dbType value="AnsiString" />
<size value="500" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{LEVEL}" />
</layout>
</parameter>
<parameter>
<parameterName value="@LOGGER" />
<dbType value="AnsiString" />
<size value="500" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{LOGGER}" />
</layout>
</parameter>
<parameter>
<parameterName value="@MESSAGE" />
<dbType value="AnsiString" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{MESSAGE}" />
</layout>
</parameter>
<parameter>
<parameterName value="@EXCEPTION" />
<dbType value="AnsiString" />
<size value="4000" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{EXCEPTION}" />
</layout>
</parameter>
</appender>
<root>
<level value="DEBUG" />
<appender-ref ref="DatabaseAppender" />
</root>
</log4net>
</configuration>
I am getting the following error:
log4net:ERROR [AdoNetAppender] Could not prepare database command [insert into EVENT_LOG(DATE, THREAD, LEVEL, LOGGER, MESSAGE, EXCEPTION) values (?, ?, ?, ?, ?, ?)]
System.Data.OleDb.OleDbException: Syntax error near 'DATE' on line 1
at System.Data.OleDb.OleDbCommand.PrepareCommandText(Int32 expectedExecutionCount)
at System.Data.OleDb.OleDbCommand.Prepare()
at log4net.Appender.AdoNetAppender.InitializeDatabaseCommand()