I am working with log4net version : 1.2.12.0 .
I am getting inconsistent results , while using RollingFileAppender with BufferingForwardAppender. My application is a multithreaded application. I spawned 5 threads Each will call the constructor of MyClass and SomeFunction once. My application's sertup is as follows: Web.config: ------------------------------- <appender name="RollingLocalFileAppender" type=" log4net.Appender.RollingFileAppender <http://opengrok.factset.com/source/s?path=log4net.Appender.RollingFileAppender&project=/platform/wauds/mainline> "> <file type="log4net.Util.PatternString <http://opengrok.factset.com/source/s?path=log4net.Util.PatternString&project=/platform/wauds/mainline> " value="C:\Logs\TFile.log" /> <rollingStyle value="Date" /> <datePattern value="yyyy-MM-dd" /> <maxSizeRollBackups value="10" /> <appendToFile value="true" /> <layout type="log4net.Layout.PatternLayout <http://opengrok.factset.com/source/s?path=log4net.Layout.PatternLayout&project=/platform/wauds/mainline> "> <conversionPattern value="%level %date{yyyy-MM-dd'T'HH:mm:ss.fffzzz <http://opengrok.factset.com/source/s?path=ss.fffzzz&project=/platform/wauds/mainline>} %property{hostname} %property{guid} %message%newline" /> </layout> </appender> <appender name="BufferedFileAppender" type=" log4net.Appender.BufferingForwardingAppender <http://opengrok.factset.com/source/s?path=log4net.Appender.BufferingForwardingAppender&project=/platform/wauds/mainline> "> <bufferSize value="512" /> <evaluator type="log4net.Core.TimeEvaluator <http://opengrok.factset.com/source/s?path=log4net.Core.TimeEvaluator&project=/platform/wauds/mainline> "> <interval value="10" /> <!--Send buffered events immediately if 10 seconds pass--> </evaluator> <Fix value="0" /> <!--Buffering can have severe performance degradation if this is set to the default (ALL)--> </appender> Logging Class: -------------------------- Class MyClass { public MyClass() { Log4net.ThreadContext.Properties["guid"] = Guid.NewGuid(); } public void SomeFunction() { Ilog log = LogManager.GetLogger(typeof(MyClass)); Log.Info("my message"); } } Tfile.log(Result) ---------------------- Observed Results: INFO 2014-08-14T10:47:36.659-04:00 ANANTHTATACHAR MyAudsDigest [LQR-Y8c71EmtWl7ZqItYoQ] my message INFO 2014-08-14T10:47:36.659-04:00 ANANTHTATACHAR MyAudsDigest [9hDzS-_Su0SrEoXZF_aGMw] my message INFO 2014-08-14T10:47:36.729-04:00 ANANTHTATACHAR MyAudsDigest [GsxT7aTfNEq1uIsqPYeZ5w] my message INFO 2014-08-14T10:47:36.789-04:00 ANANTHTATACHAR MyAudsDigest [9hDzS-_Su0SrEoXZF_aGMw] my message INFO 2014-08-14T10:47:36.955-04:00 ANANTHTATACHAR MyAudsDigest [9hDzS-_Su0SrEoXZF_aGMw] my message Expected Results: Unique guid in all the messages. -------------------------------------------------------------------------------------------------------------------------------------- I understand that Fix value NONE in log4net.Appender.BufferingForwardingAppender <http://opengrok.factset.com/source/s?path=log4net.Appender.BufferingForwardingAppender&project=/platform/wauds/mainline> will not fix any volatile variables , but making it all results in all my guids in all the 5 messages becoming same. Could anybody please tell me how to fix this issue?