2012-07-18 7 views
12

Stiamo utilizzando Log4Net dalla nostra applicazione ASP.NET MVC3, tutto funziona correttamente ma vorremmo vedere il nome utente corrente al posto dell'identità del pool di applicazioni nel registro file, questa è la configurazione appender stiamo usando:Come ottenere il nome utente corrente anziché l'identità AppPool in un file di registro con Log4Net

<log4net> 
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender"> 
     <threshold value="ALL" /> 
     <immediateFlush>true</immediateFlush> 
     <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 
     <encoding value="utf-8" /> 
     <file value="C:\Logs\MyLogs.log" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Date" /> 
     <maxSizeRollBackups value="30" /> 
     <maximumFileSize value="25MB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="[%property{log4net:HostName}] - %username%newline%utcdate - %-5level - %message%newline" /> 
     </layout> 
    </appender> 
    <root> 
     <priority value="ALL" /> 
     <appender-ref ref="FileAppender" /> 
    </root> 
</log4net> 

Così sembra che la proprietà: %username sta recuperando il valore di:

WindowsIdentity.GetCurrent().Name 

Invece di quello che ci sarebbe bisogno: HttpContext.Current.User

Qualche idea su come possiamo risolverlo facilmente in web.config senza creare proprietà personalizzate o classi derivate da log4net aggiuntive? Se possibile, altrimenti se la proprietà personalizzata è l'unico modo in cui possiamo vivere con quello immagino :) grazie!

+1

È possibile ottenere questo attraverso un modello appender in Log4Net versione 1.2.11. Vedi http://stackoverflow.com/a/26277219/203371 –

risposta

13

Sostituire %username per %identity dovrebbe farlo. Sta funzionando per me nel mio attuale progetto.

si può imparare di più su log4net con this ottimo tutorial

+2

wow, funziona come un vero amore, grazie !!!!!! –

+1

Nessun problema :) È davvero molto utile! –

Problemi correlati