log4net控制台应用程序的配置

任何人都可以建议如何为控制台应用程序配置log4net?

或者至少如何/在哪里捕获Application_Start事件? (此时此刻需要一些电话)

提前致谢!

您需要在实例化第一个记录器之前对其进行配置。

为此:

  • 您的主类(Program.cs)不应该有记录器

  • main方法不应引用任何具有记录器的类。

  • 然后,您可以在main方法中配置log4net。

或者,您可以使用包装器类来实例化记录器,以确保在创建记录器之前配置log4net,例如:

 static class Log4NetHelper { private static bool _isConfigured; static void EnsureConfigured() { if (!_isConfigured) { ... configure log4net here ... _isConfigured = true; } } public static ILog GetLogger(string name) { EnsureConfigured(); log4net.ILog logger = log4net.LogManager.GetLogger(name); return logger; } } 

试着写

 [assembly: log4net.Config.XmlConfigurator(Watch = true)] 

AssemblyInfo.cs

而已!