2010-06-01 10 views

Répondre

1

C'est très possible. Puisque vous n'avez pas fourni les détails exacts je peux fournir une solution générique à ceci. Écrivez une énumération qui définit les niveaux/catégories de journalisation impliqués dans votre application (ou mieux encore, démarrez une bibliothèque de classes de log si vous créez la vôtre à partir de rien et y placez l'énumération).

public enum LogCategory 
{ 
    Info, 
    Error, 
    Fatal, 
    Debug 
} 

Maintenant, quand vous écrivez une méthode pour votre journalisation pour l'écriture d'un journal que vous pourriez faire le ENUM un argument nécessaire à la méthode.

public WriteToLog(string logMessage, LogCategory category) 
{ 
    switch(category) 
    { 
     case LogCategory.Info: 
      // write to Info.log.txt 
      break; 
     case LogCategory.Error: 
     case LogCategory.Fatal: 
      // write to Error.log.txt 
      break; 
     case LogCategory.Debug: 
      // write to Debug.log.txt 
      break; 
     default: 
      // validate more 
      break; 
    } 
} 

Cela vous mettra dans la bonne direction.

+0

Merci pour la réponse, mais je cherchais une solution qui ne concernait que la configuration de configuration (comme celle prise en charge par le framework log4net). Bien sûr, développer un écouteur personnalisé me permettrait de le personnaliser, mais comme je l'ai dit, je cherchais un switch de configuration (qui n'existe pas apparemment). Un autre problème que j'ai avec MSAB est le manque de catégories hiérarchiques qui peuvent être activées/désactivées en utilisant des préfixes (encore une fois, comme dans log4net). Je pense probablement trop à la manière de faire de Log4net et Logging AB a été conçu avec un état d'esprit complètement différent. –