can anyone suggest how to configure the log4net for an console app?
Or at least how/where to catch the Application_Start
event? (It seams that some calls are required at this moment)
Thanks in advance!
Try writing
[assembly: log4net.Config.XmlConfigurator(Watch = true)]
in AssemblyInfo.cs
That's it!
You need to configure it before the first logger is instantiated.
To do so:
Your main class (Program.cs) should not have a logger
The main method should not reference any classes that have a logger.
You can then configure log4net in the main method.
Alternatively you can use a wrapper class to instantiate loggers, that ensures log4net is configured before creating a logger, e.g.:
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;
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With