A partial fix is in for NUnit 2.6. We'll think about further improvements for 3.0.
For 2.6, the log capture no longer takes place when using the console runner. Since the console runner doesn't do anything with the captured output, it was really never needed anyway. Now we only capture log output if the package contains a setting indicating that it should be captured. Only the Gui creates that setting. For good measure, I did the same with trace output. -- You received this bug notification because you are a member of NUnit Core Developers, which is the registrant for NUnit Framework. https://bugs.launchpad.net/bugs/605034 Title: Log4net not working with NUnit Status in NUnit Test Framework: Triaged Status in NUnit V2 Test Framework: Fix Committed Bug description: Problem: Using log4net with newer versions of nunit means that no log file is created. Demonstration follows. I created the solution in VS 2008. The OS is Windows XP. I tested using both the nunit GUI and console. I compared Nunit 2.2.5 with 2.5.5 (I suspect 2.5.0 will fail as well.) The solution is created as a console app. When the app is run as a console application a Log file is produced. When the app is run using 2.2.5 a Log file is produced. When the app is run using 2.5.5 no Log file is produced. There are two files in the solution: Log.config and Program.cs Following comes from a file name "Log.config" ---------------------------------------------- <?xml version="1.0" encoding="utf-8" ?> <log4net debug="false"> <appender name="DefaultLogFile" type="log4net.Appender.RollingFileAppender"> <file value=".\Log" /> <appendToFile value="false" /> <staticLogFileName value="false" /> <rollingStyle value="Date" /> <datePattern value="'.'yyyyMMdd'.log'" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%utcdate{ABSOLUTE} %-5level %message%newline" /> </layout> </appender> <root> <level value="All" /> <appender-ref ref="DefaultLogFile" /> </root> </log4net> ----------------------------------------------------- Following is Program.cs ----------------------------------------------------- using System; using System.Reflection; using NUnit.Framework; [assembly: log4net.Config.XmlConfiguratorAttribute(ConfigFile = "Log.config", Watch = true)] namespace TestNunitLog4net { [TestFixture] public class Program { private static readonly log4net.ILog log = log4net.LogManager.GetLogger( MethodBase.GetCurrentMethod().DeclaringType); // Test scenarios // Test 1: Works - log show up (gui and console) // log4net: 1.2.10.0 // Nunit: 2.2.5.0 // Test 2: Fails - no log file (gui and console) // log4net: 1.2.10.0 // Nunit: 2.5.5.10112 // Following has no impact. // It exists just so we can see it in log. private readonly String exeType; static void Main() { Program p = new Program("Exe"); p.TestLog(); } private Program(String stype) { this.exeType = stype; } public Program() { this.exeType = "Nunit"; } [Test] public void TestLog() { log.Debug(exeType + ": First line"); log.Debug(exeType + ": Second line"); } } // End of class } // End of namespace --------------------------------------------------------------- To manage notifications about this bug go to: https://bugs.launchpad.net/nunit-3.0/+bug/605034/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~nunit-core Post to : nunit-core@lists.launchpad.net Unsubscribe : https://launchpad.net/~nunit-core More help : https://help.launchpad.net/ListHelp