Greetings! I am attempting to write to two different log files from inside one C# application. I have defined two rolling file appenders. I use the GetLogger() function to get references to each one, and I write to each in turn. But both messages end up in the first file (cranesimulator_console.log), and the second file (cranesimulator_console_sim.log) is never created.
Here is my configuration file: <?xml version="1.0" encoding="utf-8"?> <log4net> <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> <file value="CraneSimulator_Console.log" /> <appendToFile value="true" /> <maxSizeRollBackups value="90" /> <rollingStyle value="Size" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date - %message%newline" /> </layout> </appender> <appender name="RollingFile_sim" type="log4net.Appender.RollingFileAppender"> <file value="CraneSimulator_Console_sim.log" /> <appendToFile value="true" /> <maxSizeRollBackups value="90" /> <rollingStyle value="Size" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date - %message%newline" /> </layout> </appender> </appender> <root> <level value="DEBUG" /> <appender-ref ref="RollingFile" /> <appender-ref ref="RollingFile_sim" /> </root> </log4net> And here is the code that should be writing to the files: public CraneSimulator_Console(string xmlFileName) { // m_simulator = new Simulator(xmlFileName, m_logger); // string fullType = m_simulator.Database.GetType().AssemblyQualifiedName; ILog m_logger = LogManager.GetLogger("RollingFile"); ILog simLogger = LogManager.GetLogger("RollingFile_sim"); System.IO.FileInfo logConfigFile = new System.IO.FileInfo(Environment.CurrentDirectory + "multiple_files.xml"); XmlConfigurator.ConfigureAndWatch(logConfigFile); m_logger.Info("This is from cranesimulator_console."); simLogger.Info("This should be in the sim logger."); } Many thanks for your help!