Domanda

Abbiamo un'applicazione ASP .Net in base alla quale utilizziamo Log4Net per registrare i dettagli all'interno dell'app - niente di nuovo lì - ei nomi dei file di log di rotolamento sono nel solito formato di:

rolling-log.txt 
rolling-log.txt.1
rolling-log.txt.2 etc.

Ogni utente dell'applicazione aggiunge al file di registro, il file di registro può essere difficile da leggere per il caso di un utente specifico e quindi, vorremmo modificare il file di configurazione in qualche modo per registrare singolarmente i dettagli del registro dell'utente, ciascuno scrivendo a un file specifico, ad esempio

<applicationId>rolling-log.txt
<applicationId>rolling-log.txt.1
<applicationId>rolling-log.txt.2
etc.

dove si trova l'ID applicazione univoco di ciascun utente, composto da un numero di cinque cifre, ad es.

12345rolling-log.txt

Qualche idea sul modo migliore per implementarlo, supponendo che sia possibile?

Saluti

Brett

È stato utile?

Soluzione

cerca le Proprietà del contesto log4net ...

nel tuo codice:

log4net.GlobalContext.Properties["id"] = "12345";

poi

log4net.Config.XmlConfigurator.ConfigureAndWatch(new FileInfo("configPath"));

nel file di configurazione log4net:

<file type="log4net.Util.PatternString"
            value="%property{id}rolling-log.txt" />

Altri suggerimenti

<file type="log4net.Util.PatternString">
  <conversionPattern value="C:\Logs\log-%date{ yyyy.MM.dd.HH.mm.ss}-[%processid].log" />
</file>

da qui

Credo che il file di configurazione Log4Net supporti le variabili di ambiente (ad es. USERNAME), nonché i modelli personalizzabili che dovrebbero darti ciò che desideri.

Guarda " PatternString per la configurazione basata su pattern " in le note di rilascio di Log4Net V1.2.10 .

Non credo che il file di registro per utente sia possibile, ma è possibile scrivere un livello personalizzato tra log4net e l'applicazione che antepone l'id utente prima di scrivere nel registro.

Puoi scrivere un layout personalizzato ereditando da XmlLayoutBase.

Verifica RollingPatternFileAppender, proprio come il rollingfileappender più il nome del file dinamico http://mysite.verizon.net/vze14bhji

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top