> -----Original Message----- > From: Chris Jerdonek [mailto:[EMAIL PROTECTED] > Sent: Thursday, May 08, 2008 7:49 PM > To: log4net-user@logging.apache.org > 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