2015-06-11 37 views
3

我想在當前項目中使用log4net
因此,我開始閱讀官方文檔中的示例,並首先使用BasicConfigurator進行了一些操作,但下一步是切換到配置文件,而不是硬編碼所有內容。
我創建了一個XML文件名爲MyApp.log4net包含:使用配置文件時Log4Net不工作

<log4net> 
    <appender name="A1" type="log4net.Appender.ConsoleAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date [%thread] %-5level %logger %ndc - %message%newline" /> 
     </layout> 
    </appender> 

    <root> 
     <level value="DEBUG" /> 
     <appender-ref ref="A1" /> 
    </root> 
</log4net> 

配置文件位於AppDomain.CurrentDomain.BaseDirectory

接着我加入

[assembly: XmlConfigurator(ConfigFile = "MyApp.log4net", Watch = true)] 
namespace Awesome.Server 
{ 
    class Program 
    { 
     ... 

到位於在同一個目錄中的MyApp.log4netProgram
如果我現在嘗試記錄例如使用...

LogManager.GetLogger(typeof(Program)).Info("Hello World"); 

...然後沒有任何反應。沒有錯誤,沒有信息,什麼都沒有。
有什麼我忘記/誤解了這將如何工作,將解決這個問題?

+0

配置文件全名需要在ConfigFile中設置,即'MyApp.log4net.xml' – stuartd

+0

我使用程序集屬性和配置文件設置了一個新的控制檯應用程序並記錄了一個hello world。有效。 –

回答

2

您指定的配置文件的名稱是「Awesome.Server.log4net」:

[assembly: XmlConfigurator(ConfigFile = "Awesome.Server.log4net", Watch = true)] 
namespace Awesome.Server { 
    ... 
} 

請修復您的配置文件名稱或更改集屬性屬性ConfigFile

+0

實際上這是一個錯字。編輯我的問題。 – TorbenJ