After googling this for what seems like forever, I have resorted to asking the question here.
I have added a custom field and variable to the log4net adonetappender. However, after re-working it and trying all practically every suggestion found in the first 4 pages of google, the variable still comes out null.
Any ideas why this happening and any suggestions to help?
Output
RowId Username DateOfActivity Thread Level Logger Message Exception
16 (null) 2015-08-27 18:53:40.607 124732 DEBUG LogToDatabaseTest.Form1 Retrieving info for ID
App.Config
<parameter>
<parameterName value="@username"/>
<dbType value="String" />
<size value="100" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%property{username}"/>
</layout>
</parameter>
<parameter>
<parameterName value="@log_date"/>
<dbType value="DateTime"/>
<layout type="log4net.Layout.RawTimeStampLayout"/>
</parameter>
<parameter>
<parameterName value="@thread"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%thread"/>
</layout>
</parameter>
<parameter>
<parameterName value="@log_level"/>
<dbType value="String"/>
<size value="50"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%level"/>
</layout>
</parameter>
<parameter>
<parameterName value="@logger"/>
<dbType value="String"/>
<size value="255"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%logger"/>
</layout>
</parameter>
<parameter>
<parameterName value="@message"/>
<dbType value="String"/>
<size value="4000"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%message"/>
</layout>
</parameter>
<parameter>
<parameterName value="@exception"/>
<dbType value="String"/>
<size value="4000"/>
<layout type="log4net.Layout.ExceptionLayout"/>
</parameter>
C# code to set the variable
private void simpleButton1_Click(object sender, EventArgs e)
{
ThreadContext.Properties["username"] = SystemInformation.UserName;
log4net.Config.XmlConfigurator.Configure();//(Watch = false)
try
{
long_ID = Int64.Parse(textEdit1.Text);
}
catch (FormatException fe)
{
XtraMessageBox.Show("ID inputted is not a number! Please enter a valid ID", "Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
log.Error(String.Format("Retrieving Info for ID: {0}", textEdit1.Text), fe);
return;
}
}