2009-07-19 31 views

risposta

0

Ora ha parecchi anni, ma il thread this discute quello che stai cercando di fare.

+3

link morto ma disponibile su [l'archivio internet] (https://web.archive.org/web/20130528024223/http://www.l4ndash.com/Log4NetMailArchive/tabid/70/forumid/1/postid/14714/view/topic/Default.aspx) – stuartd

+0

E un pochi anni dopo ... entrambi i link sono morti. Yay per link rot! – WernerCD

13

Questo può essere fatto con un metodo di estensione come descritto qui: http://rageshkrishna.com/2011/01/21/AddingCustomLogLevelsToLog4net.aspx

Aggiunta qualche estensione i metodi rendono estremamente semplice iniziare a utilizzare i nuovi livelli di registro :

public static class SecurityExtensions 
{ 
    static readonly log4net.Core.Level authLevel = new log4net.Core.Level(50000, "Auth"); 

    public static void Auth(this ILog log, string message) 
    { 
     log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, 
      authLevel, message, null); 
    } 

    public static void AuthFormat(this ILog log, string message, params object[] args) 
    { 
     string formattedMessage = string.Format(message, args); 
     log.Logger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, 
      authLevel, formattedMessage, null); 
    } 

} 

E questo è tutto - ora posso iniziare a utilizzare il mio nuovo livello di registrazione “Auth” su qualsiasi istanza di ILOG come questo:

SecurityLogger.AuthFormat("User logged in with id {0} from IP address {1}", id, Request.UserHostAddress); 
+3

Grazie per essere l'unica risposta a questa domanda che non è solo un collegamento. – Shelby115

Problemi correlati