2010-08-24 68 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