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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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