Vous devez le configurer avant l'instanciation du premier enregistreur.
Pour ce faire:
Votre classe principale (Program.cs) ne devrait pas avoir un enregistreur
La principale méthode ne doit pas faire référence à toutes les classes qui ont un enregistreur.
Vous pouvez ensuite configurer log4net dans la méthode principale.
vous pouvez également utiliser une classe wrapper pour instancier enregistreurs, qui assure log4net est configuré avant de créer un enregistreur, par exemple:
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;
}
}
Qu'est-ce que c'est censé faire? Je ne semble rien aider dans mon cas. –
Il est supposé 1) dire à log4net de se configurer en utilisant les paramètres par défaut (app.config) 2) que log4net recharge automatiquement sa configuration lorsque le fichier sous-jacent qui contient l'entrée log4net change. –
Ajouter cette ligne fonctionne pour moi. À votre santé! – ysrb