Hi,

I am trying to log a large XML message whenever there is an exception in
our application. I have defined my table as follows, i.e. setting the
Message column as ntext.

CREATE TABLE [dbo].[ Log](
        [Id] [int] IDENTITY(1,1) NOT NULL,
        [Date] [datetime] NOT NULL,
        [Machine] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL,
        [Thread] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL,
        [Level] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL,
        [Logger] [varchar](255) COLLATE SQL_Latin1_General_CP1_CI_AS NOT
NULL,
        [Message] [ntext] COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
        [Exception] [varchar](2000) COLLATE SQL_Latin1_General_CP1_CI_AS
NULL,
 CONSTRAINT [PK_APP_Log] PRIMARY KEY CLUSTERED 
(
        [Id] ASC
)WITH FILLFACTOR = 90 ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]


Since I am not sure about the actual size of the message I have defined
the parameter as equal to 99000 characters. Is this the right way of
doing this, or is there any other way by which I can tell Log4Net to log
all the message without specifying the size here. 
(Note: My messages do get logged properly using this approach but I
don't want to give a fixed size here).

<parameter>
<parameterName value="@message" />
        <dbType value="String" />
        <size value="99000" />
        <layout type="log4net.Layout.PatternLayout">
                <conversionPattern value="%message" />
        </layout>
</parameter>

Regards,
Atif Sarfraz

Reply via email to