C# · 12月 26, 2021

c# – log4net控制台应用程序的配置

任何人都可以建议如何配置控制台应用程序的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; }}