好的,我有一个写入事件日志的WCF服务。
一切都很好,除了一个细节..它不会关注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上运行。
任何帮助都将不胜感激。
答案 0 :(得分:1)
您是否创建了event source?
我很惊讶您的代码有效:您需要使用XmlConfigurator
。据我所知,BasicConfigurator
仅配置默认控制台记录器......
也许还考虑创建这样的记录器(看起来更干净,更短):
ILog log = LogManager.GetLogger(typeof(YourClass));