Desidero utilizzare LogicalThreadContext per passare alcune informazioni di contesto nel mio servizio WCF. Devo passare diverse proprietà. In C# che ha il codiceRimuovi le proprietà del sistema log4net dall'output
LogicalThreadContext.Properties["MyProperty"] = 1;
In log4net config ho
<log4net>
<appender name="RollingLogFileAppenderSize" type="log4net.Appender.RollingFileAppender">
<file value="Logs\Log.log" />
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value="yyyyMMdd" />
<maxSizeRollBackups value="3" />
<maximumFileSize value="5MB" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%d [%2t] [%property] %level %m%n" />
</layout>
</appender>
<root>
<level value="INFO" />
<appender-ref ref="RollingLogFileAppenderSize" />
</root>
</log4net>
E nel registro ho ottenuto
2015-11-03 16:24:36,313 [10] [{MyProperty=1, log4net:Identity=, log4net:UserName=User, log4net:HostName=User}] INFO - Info
Non voglio avere proprietà di sistema log4net: Identità, log4net : UserName e log4net: HostName nel registro. Come fare questo? Posso scrivere config come questo
Ma ho diverse proprietà nel codice e voglio vedere solo le proprietà che ho aggiunto. Codice
LogicalThreadContext.Properties.Remove("log4net:UserName");
non funziona.
Puoi mostrare la configurazione completa? – stuartd
Aggiunto in questione –