I'm a log4net newbie myself, but here's a more complete illustration that is
variation on that theme using store procs. I just created it (quite
quickly, I might add; I love this thing).
I log to a SQL Server table using custom fields and a stored proc. The
AdoNetAppender definition is below. The MDC.Set lines that the previous
person Shiva showed you might go like:
MDC.Set("prmEventSource", prmEventSource);
MDC.Set("prmEventType", prmEventType);
MDC.Set("prmCodePoint", prmCodePoint);
MDC.Set("prmComputerUserId", prmComputerUserId);
MDC.Set("prmEventText", prmEventText);
Each of those Set() string values map to the log4Net parameterName elements,
while the value attributes in the XML in turn map to the stored proc parm
names, which in turn map to the table columns (not shown). The proc name is
'dbo.EventLogInsNavigation', and you need to set the commandType properly.
<appender name="SqlServerAppender"
type="log4net.Appender.AdoNetAppender">
<filter type="log4net.Filter.LevelRangeFilter">
<levelMin value="INFO" />
<levelMax value="FATAL" />
</filter>
<bufferSize value="1" />
<connectionType
value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.5000.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<connectionString value="(set at run time)"/>
<commandType value="StoredProcedure" />
<commandText value="dbo.EventLogInsNavigation" />
<parameter>
<parameterName value="@prmEventSource" />
<dbType value="String" />
<size value="32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%X{prmEventSource}" />
</layout>
</parameter>
<parameter>
<parameterName value="@prmEventType" />
<dbType value="String" />
<size value="32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%X{prmEventType}" />
</layout>
</parameter>
<parameter>
<parameterName value="@prmCodePoint" />
<dbType value="String" />
<size value="32" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%X{prmCodePoint}" />
</layout>
</parameter>
<parameter>
<parameterName value="@prmComputerUserId" />
<dbType value="String" />
<size value="16" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%X{prmComputerUserId}" />
</layout>
</parameter>
<parameter>
<parameterName value="@prmEventText" />
<dbType value="String" />
<size value="2048" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern
value="%X{prmEventText}" />
</layout>
</parameter>
</appender>
BillyB
WILLIAM BARNUM
[EMAIL PROTECTED]