Try adding the thread name to your conversion to ensure it is a different thread
<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} [%thread] %property{guid} %message%newline" /> It seems more likely that a thread is being reused. Mike On Thu, Aug 14, 2014 at 10:51 AM, Ananth Tatachar <ananth.tatac...@gmail.com > wrote: > 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? >