[log4net] nom du fichier dynamique
salut,
Comment peut-on faire pou avoir un fichier de log dynamique?
J'ai lu pas mal d'articles sur le net mais ça ne fonctionne pas très bien chez moi. J'utlise un fichier de config pour plusieurs applications et je voudrais paramétrer un fichier de log par appli.
Tous les exemples que j'ai vu sur le net parlent des globalcontxproperties. Chez moi ça ne veut pas fonctionner..
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender" >
<param name="File" value="%property{LogFile}.log" />
<param name="AppendToFile" value="true" />
<rollingStyle value="Size" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="100KB" />
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d{dd.MM.yyyy hh:mm:ss} %p - %thread - %logger - %m%n" />
</layout>
</appender> |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
log4net.GlobalContext.Properties["LogFile"] = Assembly.GetExecutingAssembly().ManifestModule.Name;
log = log4net.LogManager.GetLogger(AppDomain.CurrentDomain.FriendlyName);
string exePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
foreach (string p in Directory.GetFiles(exePath, "*.log4net"))
{
XmlConfigurator.ConfigureAndWatch(new FileInfo(p));
break;
}
log.Debug("Démarrage de l'application");
Application.Run(new frmMain());
}
public static List<IPlugin> PluginList = new List<IPlugin>();
public static log4net.ILog log = null; |
Merci pour votre aide