public void writeNetwork(String outputRoot, String networkFileName) { try { OutputDirectoryLogging.initLoggingWithOutputDirectory(outputRoot); } catch (IOException e) { e.printStackTrace(); } NetworkWriter networkWriter = new NetworkWriter(network); networkWriter.write(networkFileName); LOG.info("Network file written to " + networkFileName); }
@Deprecated // use OutputDirectoryLogging.catchLogEntries() directly. kai, mar'18 public static final void initializeOutputLogging() { OutputDirectoryLogging.catchLogEntries(); }
protected final void run(final Config config) { MatsimRuntimeModifications.MyRunnable runnable = new MatsimRuntimeModifications.MyRunnable() { @Override public void run() throws MatsimRuntimeModifications.UnexpectedShutdownException { loadCoreListeners(); controlerListenerManagerImpl.fireControlerStartupEvent(); ControlerUtils.checkConfigConsistencyAndWriteToLog(config, "config dump before iterations start"); prepareForSim(); doIterations(config); } @Override public void shutdown(boolean unexpected) { controlerListenerManagerImpl.fireControlerShutdownEvent(unexpected); } }; MatsimRuntimeModifications.run(runnable); OutputDirectoryLogging.closeOutputDirLogging(); }
@Override public void write(String filename) { OutputDirectoryLogging.catchLogEntries(); try { OutputDirectoryLogging.initLoggingWithOutputDirectory(this.workingDirectory); } catch (IOException e1) { e1.printStackTrace(); OutputDirectoryLogging.closeOutputDirLogging();
file.mkdirs(); OutputDirectoryLogging.catchLogEntries(); try { OutputDirectoryLogging.initLoggingWithOutputDirectory(outputFilePath); } catch (IOException e1) { e1.printStackTrace();
final void setupOutputDirectory(OutputDirectoryHierarchy controlerIO) { this.controlerIO = controlerIO; OutputDirectoryLogging.initLogging(this.getControlerIO()); // logging needs to be early }
/** * Call this method to create 2 log4j logfiles in the output directory specified as parameter. * The first logfile contains all messages the second only those above log Level.WARN (Priority.WARN). * After the end of the programm run it is strongly recommended to close the file logger by calling * the method closeOutputDirLogging(). * * @param outputDirectory the outputdirectory to create the files, whithout seperator at the end. * @throws IOException * @see IOUtils#closeOutputDirLogging() * @author dgrether */ public static void initLoggingWithOutputDirectory(final String outputDirectory) throws IOException { if (collectLogMessagesAppender != null) { Logger.getRootLogger().removeAppender(collectLogMessagesAppender); } String logfilename = outputDirectory + System.getProperty("file.separator") + LOGFILE; String warnlogfilename = outputDirectory + System.getProperty("file.separator") + WARNLOGFILE; initLogging(logfilename, warnlogfilename); }
@Test public void testInitOutputDirLogging() throws IOException { System.out.println(utils.getOutputDirectory()); String outDir = utils.getOutputDirectory(); OutputDirectoryLogging.initLoggingWithOutputDirectory(outDir); File l = new File(outDir + OutputDirectoryLogging.LOGFILE); File errorLog = new File(outDir + OutputDirectoryLogging.WARNLOGFILE); Assert.assertTrue(l.exists()); Assert.assertTrue(errorLog.exists()); }
@Override public final void run() { super.setupOutputDirectory(outputDirectoryHierarchy); super.run(this.config); OutputDirectoryLogging.closeOutputDirLogging(); }
/** * Initializes log4j to write log output to files in output directory. * @param outputDirectoryHierarchy TODO */ public final static void initLogging(OutputDirectoryHierarchy outputDirectoryHierarchy) { if (collectLogMessagesAppender != null) { Logger.getRootLogger().removeAppender(collectLogMessagesAppender); } try { String outputFilename = outputDirectoryHierarchy.getOutputFilename(LOGFILE); String warnLogfileName = outputDirectoryHierarchy.getOutputFilename(WARNLOGFILE); initLogging(outputFilename, warnLogfileName); } catch (IOException e) { log.error("Cannot create logfiles: " + e.getMessage()); e.printStackTrace(); } }