2010-08-24 135 views
1

好吧,讓我有一個寫入事件日誌的WCF服務。爲什麼Log4Net忽略我的logName?

除了一個細節之外,一切都很好..它不會注意到logName屬性,..這裏是配置。

<!--EventLog Appender--> 
    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" > 
     <logName value="MyCustomLog"/> 
     <applicationName value="MyCustomEventSource" /> 
     <layout type="log4net.Layout.PatternLayout"> 
      <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" /> 
     </layout> 
    </appender> 

..和初始化代碼。

 //Create an instance of the log from the declaring type. 
     var stackTrace = new StackTrace(); 
     var frame = stackTrace.GetFrame(0); 
     log = LogManager.GetLogger(frame.GetMethod().DeclaringType); 
     BasicConfigurator.Configure(); 

事件日誌不會被寫入到,但在應用程序日誌(使用MyCustomEventSource」源),而不是我自己的。很顯然我失去了一些重要的點,但我看不出有什麼可能。 。..我在Win 7上運行和IIS 7.5如果讓任何差異

任何幫助,將不勝感激

回答

1

沒有創造一個event source

我很奇怪你的代碼的工作?您需要使用XmlConfigurator。據我所知道的唯一BasicConfigurator配置默認控制檯記錄器...

也許還考慮到創建記錄器這樣的(似乎更清潔和更短):

ILog log = LogManager.GetLogger(typeof(YourClass)); 
+0

我忘了提,我使用AssemblyInfo屬性使用XMLConfigurator。我將你標記爲正確,因爲你將我推向了正確的方向,但是我的實際問題是我將事件源註冊到了2個獨立的日誌。這只是記錄到最近的。 – Stimul8d 2010-08-31 12:09:39