WebObjects/Web Applications/Deployment/Logging
Appearance
Log Rotation
[edit | edit source]Mike Kienenberger
[edit | edit source]I can't remember who gave me the basic starting point for this, but I think it may have been one of the Jonathans. You'll need to change the filenames to make it work under non-unix deployment systems.
You'll find it easier to copy out the source by going into Edit mode first.
public static void main(String argv[]) { try { String baseOutputPath = null; //look for a -WOOutputPath argument for (int i=0; i<argv.length; i++) { if ( argv[i].equals("-WOOutputPath") && !argv[i+1].equals("/dev/null") ) { String outputPath = argv[i+1]; baseOutputPath = outputPath; java.io.File outputFile = new java.io.File(outputPath); if (outputFile.exists()) { // move old file out of way to new location, //name based on existing name with an appended timestamp // Format the current time. java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("yyyy-MM-dd_HH:mm:ss"); java.util.GregorianCalendar now = new java.util.GregorianCalendar(); String dateSuffix = ".bck-" + formatter.format(now.getTime()); System.err.println("new name: " + outputPath + dateSuffix); java.io.File renamedFile = new java.io.File(outputPath + dateSuffix); outputFile.renameTo(renamedFile); } break; } } } catch (Throwable e) { //just so any Throwables generated in trying to do this don't //keep our app from launching. System.err.println("Ignoring: " + e); } WOApplication.main(argv, Application.class); }