Are you sure it's AnsiString? Anyway, I did notice that any varchar > 4000 wasn't available. I had columns with 8000 on them and it couldn't log to them. I also had a text field and it didn't work. But the following does work for me but I use String as opposed to AnsiString.
<appender name="SQLAppender" type="log4net.Appender.ADONetAppender"> <param name="BufferSize" value="50" /> <param name="ConnectionType" value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <param name="ConnectionString" value="data source=localmachine;initial catalog=ICLIC;persist security info=True;User ID=sa;Password=cactus" /> <param name="CommandText" value="INSERT INTO Qic_tIClicWebLogs (Qic_dtDate, Qic_stThread, Qic_stLogLevel, Qic_stLogger, Qic_stSession, Qic_stMessage) VALUES (@LogDate, @Thread, @LogLevel, @Logger, @Session, @Message)" /> <param name="Parameter"> <param name="ParameterName" value="@LogDate" /> <param name="DbType" value="DateTime" /> <param name="Layout" type="log4net.Layout.RawTimeStampLayout" /> </param> <param name="Parameter"> <param name="ParameterName" value="@Thread" /> <param name="DbType" value="String" /> <param name="Size" value="50" /> <param name="Layout" type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%t" /> </param> </param> <param name="Parameter"> <param name="ParameterName" value="@LogLevel" /> <param name="DbType" value="String" /> <param name="Size" value="50" /> <param name="Layout" type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%p" /> </param> </param> <param name="Parameter"> <param name="ParameterName" value="@Logger" /> <param name="DbType" value="String" /> <param name="Size" value="200" /> <param name="Layout" type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%c" /> </param> </param> <param name="Parameter"> <param name="ParameterName" value="@Session" /> <param name="DbType" value="String" /> <param name="Size" value="50" /> <param name="Layout" type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%x" /> </param> </param> <param name="Parameter"> <param name="ParameterName" value="@Message" /> <param name="DbType" value="String" /> <param name="Size" value="4000" /> <param name="Layout" type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%m" /> </param> </param> </appender> Philippe Lavoie Cactus Commerce eBusiness. All Business. Tel 819.778.0313 x302 * 888.CACTUS.0 * Fax 819.771.0921 www.cactuscommerce.com [EMAIL PROTECTED] -----Original Message----- From: Adam Patacchiola [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 23, 2004 6:21 PM To: log4net-user@logging.apache.org Subject: ADONetAppender problems Hello, I have created an ADONetAppender using the following code: public ADONetAppender CreateADONetAuditAppender() { ADONetAppender ado = new ADONetAppender(); //how many entries to queue up before writing to db ado.BufferSize = 1; //debugging level ado.Threshold = log4net.spi.Level.DEBUG; //connection stuff ado.CommandType = System.Data.CommandType.StoredProcedure; ado.CommandText = "InsertAuditEntry"; ado.ConnectionType = "System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"; ado.ConnectionString = //omitted for posting //parameters ADONetAppenderParameter param = new ADONetAppenderParameter(); //file id parameter param.ParameterName = "@FileID"; param.DbType = System.Data.DbType.Int32; param.Size = 0; param.Layout = new Layout2RawLayoutAdapter(new log4net.Layout.PatternLayout("$X{FileID}")); ado.AddParameter(param); //user id parameter param = new ADONetAppenderParameter(); param.ParameterName = "@UserID"; param.DbType = System.Data.DbType.Int32; param.Size = 0; param.Layout = new Layout2RawLayoutAdapter(new log4net.Layout.PatternLayout("$X{UserID}")); ado.AddParameter(param); //description parameter param = new ADONetAppenderParameter(); param.ParameterName = "@Description"; param.DbType = System.Data.DbType.AnsiString; param.Size = 1000; param.Layout = new Layout2RawLayoutAdapter(new log4net.Layout.PatternLayout("%m")); ado.AddParameter(param); ado.ActivateOptions(); return ado; } However when my program is run I get the following error: log4net:ERROR [ADONetAppender] Exception while writing to database System.FormatException: Input string was not in a correct format. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at log4net.Appender.ADONetAppender.SendBuffer(IDbTransaction dbTran, LoggingEvent[] events) at log4net.Appender.ADONetAppender.SendBuffer(LoggingEvent[] events) The Description field of my table is a VarChar with length 1000. What am I doing wrong? Thanks, Adam