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!

Reply via email to