任何人都可以建议如何配置控制台应用程序的log4net?
或者至少如何/在哪里捕获Application_Start事件? (这个接缝有些电话是需要的)
提前致谢!
解决方法
您需要在第一个记录器实例化之前对其进行配置.
这样做:
>你的主类(Program.cs)不应该有一个记录器
>主要方法不应该引用具有记录器的任何类.
>然后可以在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; } }