Hmm. That does look suspicious, doesn't it? I figured it would be obvious. Thanks for the help.
Eric On Mon, Oct 19, 2015 at 2:28 PM, Anthony Francisco <a...@recombulator.net> wrote: > Ummm... You are using a memory appender. > > On October 19, 2015 2:53:20 PM Eric Wachsmann <e...@flex-radio.com> wrote: > >> While I am sure that it is a result of misconfiguration, I have a memory >> leak issue while using log4net that I wondered if someone here could help >> me resolve. We are using log4net to log serial data in our application to >> a file. Because the calls for the serial port always come from the same >> class, we are less interested in the class/function and more interested in >> which COM port sent/received the data and what was in the data. As such, >> we pass one logger object around to be used by multiple serial port. >> >> Running Regate ANTS memory profiler, it finds that the memory is piling >> up in the form of strings that aren't released after calling the log4net >> Debug function. If I comment the 2 calls to logger.Debug, the memory >> becomes stable in the same environment. Can someone help me figure out >> what I'm doing wrong here? Below is our config setup. Thanks. >> >> >> Eric Wachsmann >> >> >> ================== >> private ILog logger; >> >> private void LoggerSetup() >> { >> logger = >> LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); >> Hierarchy hierarchy = (Hierarchy)LogManager.GetRepository(); >> >> PatternLayout patternLayout = new PatternLayout(); >> //patternLayout.ConversionPattern = "%date [%thread] %-5level >> %logger - %message%newline"; >> patternLayout.ConversionPattern = "%date{yyyy-MM-dd HH:mm:ss} >> %message%newline"; >> patternLayout.ActivateOptions(); >> >> RollingFileAppender roller = new RollingFileAppender(); >> roller.AppendToFile = true; >> roller.File = >> Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), >> @"[company\LogFiles\[application].log"); >> roller.Layout = patternLayout; >> roller.MaxSizeRollBackups = 5; >> roller.MaximumFileSize = "5MB"; >> roller.RollingStyle = RollingFileAppender.RollingMode.Size; >> roller.StaticLogFileName = true; >> roller.ActivateOptions(); >> hierarchy.Root.AddAppender(roller); >> >> MemoryAppender memory = new MemoryAppender(); >> memory.ActivateOptions(); >> hierarchy.Root.AddAppender(memory); >> >> hierarchy.Root.Level = Level.All; >> hierarchy.Configured = true; >> } >> >