2009-09-10 6 views
4

J'ai une application Java tout en analysant l'entrée d'une feuille de calcul. J'ai ajouté la possibilité d'exécuter uniquement la partie analyseur autonome à partir d'une tâche ant. Cependant, le modèle log4j normal que j'utilise peut rendre la sortie difficile à lire, je voudrais définir un motif simple à l'exécution.comment puis-je définir le log4j conversionpattern à l'exécution

donc quelque chose comme log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n

 parseDebug = new Boolean(System.getProperty("ptpunit.parseDebug")).booleanValue(); 

     if(parseDebug){ 

      // SET CONVERSION PATTERN HERE 

      log.setLevel((Level) Level.DEBUG); 

     } 

Répondre

8

Je pense que vous pourriez faire quelque chose comme ceci:

ConsoleAppender a = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout"); 
a.setLayout(new PatternLayout("%d{HH:mm:ss} %-5.5p %t %m%n")); 

Bien sûr, vous devez changer le type Appender selon celui que vous utilisez et vous pouvez devez remplacer "Logger.getRootLogger()" par un appel pour récupérer l'enregistreur auquel votre appender est attaché.

Questions connexes