private void setRootDir(String rootDir, String zip) {
        // roundabout way of setting things, but this way we can
        // get around Java's ineptitude for file handling (relative paths in File are broken)
        absoluteRootDir = new File(rootDir).getAbsolutePath();
        root = new File(absoluteRootDir);

        // ensure that root dir exists
        if (root.isDirectory()) {
            log.log(Level.FINE, () -> "Using " + absoluteRootDir + " as root");
        } else {
            if (! root.mkdirs()) {
                log.log(Level.SEVERE, "Unable to create directory " + absoluteRootDir);
            } else {
                log.log(Level.FINE, () -> "Created root at " + absoluteRootDir);
            }
        }
        filesArchived = new FilesArchived(root, zip);
    }
Generate prefix for log filenames based on log message.
<p>
<EM>This message is <code>public</code> only because we need
access to it in unit tests.  For all practical purposes this
method does not exist to you, the application programmer, OK? :-)</EM>
<p>
XXX optimize!
logserver/src/main/java/com/yahoo/logserver/handlers/archive/ArchiverHandler.java