有人能建议如何为控制台应用程序配置log4net吗?
或者至少知道在哪里/如何捕获Application_Start
事件?(似乎此时需要进行某些调用)
提前感谢!
有人能建议如何为控制台应用程序配置log4net吗?
或者至少知道在哪里/如何捕获Application_Start
事件?(似乎此时需要进行某些调用)
提前感谢!
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
就在 AssemblyInfo.cs
文件中。
就是这样!
在实例化第一个日志记录器之前,您需要进行配置。
操作步骤如下:
您的主类(Program.cs)不应该有日志记录器
主方法不应引用任何具有日志记录器的类。
您可以在主方法中配置 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;
}
}