> -----Original Message-----
> From: Chris Jerdonek [mailto:[EMAIL PROTECTED]
> Sent: Thursday, May 08, 2008 7:49 PM
> To: [email protected]
> Subject: logging additional message-specific data with AdoNetAppender
>
> Hi, we've been using log4net for a few months now, and I've been on
this
> list for about the same. I have a design question.
> To implement this, it seems natural to store these additional values
in
> ThreadContext.Properties, and then access them in the Web.config via
(for
> example) %property{msgcode}.
>
> Any thoughts?
>
> Okay, thanks,
> --Chris
>
Chris,
We do exactly what you have indicated. In our programs we set the extra
columns with ThreadContext and GlobalContext properties. Works pretty
well for us. Here's our config for the appender:
<appender name="ADONetAppender_SqlServer"
type="log4net.Appender.ADONetAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<!-- <levelMax value="FATAL" /> -->
</filter>
<param name="BufferSize" value="1" />
<param name="ConnectionType"
value="System.Data.SqlClient.SqlConnection, System.Data,
Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<param name="ConnectionString"
value="server=SERVER;database=DATABASE;integrated security=SSPI;" />
<param name="CommandText" value="INSERT INTO TABLE
([Date],[Thread],[Level],[Logger],[Message],[Exception],[Application_Cat
egory],[Application_Name],[Server_Name],[Carrier_Name],[DataBase_Name],[
Function_Name],[Message_Description]) VALUES (@log_date, @thread,
@log_level, @logger, @message, @exception, @category, @application,
@server, @carrier, @database, @function, @mesgdescription)" />
<param name="Parameter">
<param name="ParameterName" value="@log_date" />
<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="255" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%t" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@log_level" />
<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="255" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%c" />
</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>
<param name="Parameter">
<param name="ParameterName" value="@exception" />
<param name="DbType" value="String" />
<param name="Size" value="2000" />
<param name="Layout" type="log4net.Layout.ExceptionLayout">
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@category" />
<param name="DbType" value="String" />
<param name="Size" value="100" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{category}" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@application" />
<param name="DbType" value="String" />
<param name="Size" value="100" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{application}" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@server" />
<param name="DbType" value="String" />
<param name="Size" value="50" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{log4net:HostName}"
/>
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@carrier" />
<param name="DbType" value="String" />
<param name="Size" value="100" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{carrier}" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@database" />
<param name="DbType" value="String" />
<param name="Size" value="100" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{database}" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@function" />
<param name="DbType" value="String" />
<param name="Size" value="100" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%P{function}" />
</param>
</param>
<param name="Parameter">
<param name="ParameterName" value="@mesgdescription" />
<param name="DbType" value="String" />
<param name="Size" value="500" />
<param name="Layout" type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%m" />
</param>
</param>
</appender>
==============
Bill Daniels
Green Mountain Consulting, LLC