2012-10-29 23 views
0

以下是我的代碼。使用Logger對象時,我得到NullReference異常。我錯過了什麼?Windsor + log4net = NullReference

using Castle.Core.Logging; 
using Castle.Facilities.Logging; 
using Castle.MicroKernel.Registration; 
using Castle.MicroKernel.SubSystems.Configuration; 
using Castle.Windsor; 
using Castle.Windsor.Installer; 

namespace log4netTest 
{ 
    internal class Program 
    { 
     private static void Main(string[] args) 
     { 
      new WindsorContainer() 
       .Install(FromAssembly.This()); 

      var test = new testClass(); 
      test.Do(); 
     } 
    } 

    public class testClass 
    { 
     public ILogger Logger { get; set; } 

     public void Do() 
     { 
      Logger.Info("start"); 
      Logger.Error("error end"); 
     } 
    } 

    public class MyWindorInstaller : IWindsorInstaller 
    { 
     #region IWindsorInstaller Members 

     public void Install(IWindsorContainer container, IConfigurationStore store) 
     { 
      container.AddFacility<LoggingFacility>(facility => facility.UseLog4Net("log4net.config")); 
     } 

     #endregion 
    } 
} 

回答

0

我應該使用

var test = container.Resolve<testClass>(); 
+1

會的確可以幫助 –