Have a look at the log4net.Layout.RawPropertyLayout class. I use that for my layout type, and still set the DbType to "Guid". I believe the log4net.Layout.RawPropertyLayout class was introduced in beta9, but you should be able to get it locally and incorporate it into your own build. At least that's what worked for me. ;)
-----Original Message----- From: David Elliott [mailto:[EMAIL PROTECTED] Sent: Monday, April 11, 2005 1:43 PM To: log4net-user@logging.apache.org Subject: Help inserting GUID using AdoNetAppender I am trying to insert a uniqueidentifier (Guid) into a Sql Server table and am having problems. I'm using log4net-1.2.0-beta8. CREATE TABLE [dbo].[Log_Test1] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [DateTime] [datetime] NOT NULL , [RequestID] [uniqueidentifier] NOT NULL , [TaskID] [tinyint] NOT NULL , [State] [tinyint] NOT NULL ) ON [PRIMARY] <parameter> <parameterName value="@reqid" /> <dbType value="uniqueidentifier" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%X{reqid}" /> </layout> </parameter> On startup of the application, I get the following error. log4net: DOMConfigurator: Setting Collection Property [AddParameter] to object [log4net.Appender.ADONetAppenderParameter] log4net: DOMConfigurator: Setting Property [ParameterName] to String value [EMAIL PROTECTED] log4net:ERROR DOMConfigurator: Could not create Appender [MyDBAppender] of type[log4net.Appender.AdoNetAppender]. Reported error follows. System.ArgumentException: Requested value uniqueidentifier was not found. at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase) at log4net.helpers.OptionConverter.ParseEnum(Type enumType, String value, Boolean ignoreCase) at log4net.helpers.OptionConverter.ConvertStringTo(Type target, String txt) at log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ConvertStringTo(Ty pe type, String value) at log4net.Repository.Hierarchy.DOMHierarchyConfigurator.SetParameter(XmlEl ement element, Object target) at log4net.Repository.Hierarchy.DOMHierarchyConfigurator.CreateObjectFromXm l(XmlElement element, Type defaultTargetType, Type typeConstraint) at log4net.Repository.Hierarchy.DOMHierarchyConfigurator.SetParameter(XmlEl ement element, Object target) at log4net.Repository.Hierarchy.DOMHierarchyConfigurator.ParseAppender(XmlE lement appenderElement) log4net:ERROR DOMConfigurator: Appender named [MyDBAppender] not found. If I change to Using "Guid" <parameter> <parameterName value="@reqid" /> <dbType value="Guid" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%X{reqid}" /> </layout> </parameter> then it will load but then thrown an exception on insertion. log4net:ERROR [ADONetAppender] Exception while writing to database System.InvalidCastException: Invalid cast from System.String to System.Guid. 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) Any thoughts would be appreciated. Dave _________________________________________________________________ Express yourself instantly with MSN Messenger! Download today - it's FREE! http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/