come posso impostare logpj conversionpattern in fase di esecuzione
Domanda
Ho un'app Java mentre analizza l'input da un foglio di calcolo. Ho aggiunto la possibilità di eseguire autonomamente solo la parte del parser da un'attività di formica. Tuttavia, il normale modello log4j che sto usando può rendere difficile la lettura dell'output, mi piacerebbe impostare un modello semplice in fase di esecuzione.
Quindi qualcosa come 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);
}
Soluzione
Penso che potresti fare qualcosa del genere:
ConsoleAppender a = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout");
a.setLayout(new PatternLayout("%d{HH:mm:ss} %-5.5p %t %m%n"));
Ovviamente devi cambiare il tipo di Appender in base a quello che stai usando e potresti dover sostituire " Logger.getRootLogger () " dalla chiamata per recuperare il logger al quale il tuo appender è effettivamente collegato.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow