public static void catchLogEntries() { if ( collectLogMessagesAppender != null ) { // create a new instance only if there is not one yet, to allow // collecting log messages issued _before_ controller construction. // Otherwise, all log messages before the last call to this method // are lost. // td, mar. 2013 return; } collectLogMessagesAppender = new CollectLogMessagesAppender(); Logger.getRootLogger().addAppender(collectLogMessagesAppender); }
private static void initLogging(String outputFilename, String warnLogfileName) throws IOException { Logger root = Logger.getRootLogger(); final boolean appendToExistingFile = false; FileAppender appender = new FileAppender(Controler.DEFAULTLOG4JLAYOUT, outputFilename, appendToExistingFile); appender.setName(LOGFILE); root.addAppender(appender); FileAppender warnErrorAppender = new FileAppender(Controler.DEFAULTLOG4JLAYOUT, warnLogfileName, appendToExistingFile); warnErrorAppender.setName(WARNLOGFILE); warnErrorAppender.setThreshold(Level.WARN); root.addAppender(warnErrorAppender); if (collectLogMessagesAppender != null) { for (LoggingEvent e : collectLogMessagesAppender.getLogEvents()) { appender.append(e); if (e.getLevel().isGreaterOrEqual(Level.WARN)) { warnErrorAppender.append(e); } } collectLogMessagesAppender.close(); collectLogMessagesAppender = null; } Gbl.printSystemInfo(); Gbl.printBuildInfo(); }