Search in sources :

Example 1 with ConsoleFormatter

use of org.opensolaris.opengrok.logger.formatter.ConsoleFormatter in project OpenGrok by OpenGrok.

the class LoggerUtil method initLogger.

public static String initLogger(String logpath, Level filelevel, Level consolelevel) throws IOException {
    if (logpath != null) {
        File jlp = new File(logpath);
        if (!jlp.exists() && !jlp.mkdirs()) {
            throw new RuntimeException("could not make logpath: " + jlp.getAbsolutePath());
        }
        if (!jlp.canWrite() && !Level.OFF.equals(filelevel)) {
            throw new IOException("logpath not writeable " + jlp.getAbsolutePath());
        }
    }
    Logger.getGlobal().setLevel(Level.OFF);
    getBaseLogger().setLevel(Level.ALL);
    StringBuilder logfile = new StringBuilder();
    logfile.append(logpath == null ? "%t" : logpath);
    logfile.append(File.separatorChar).append("opengrok%g.%u.log");
    try {
        FileHandler fh = new FileHandler(logfile.toString(), loggerIntProperty("java.util.logging.FileHandler.limit", DEFAULT_FILEHANDLER_LIMIT), loggerIntProperty("java.util.logging.FileHandler.count", DEFAULT_FILEHANDLER_COUNT));
        fh.setLevel(filelevel);
        String formatter = LogManager.getLogManager().getProperty("java.util.logging.FileHandler.formatter");
        try {
            fh.setFormatter((Formatter) Class.forName(formatter).newInstance());
        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
            fh.setFormatter(new FileLogFormatter());
        }
        getBaseLogger().addHandler(fh);
        loggerFile = logfile.toString();
        ConsoleHandler ch = new ConsoleHandler();
        ch.setLevel(consolelevel);
        ch.setFormatter(new ConsoleFormatter());
        getBaseLogger().addHandler(ch);
    } catch (IOException | SecurityException ex1) {
        LOGGER.log(Level.SEVERE, "Exception logging", ex1);
        throw new IOException("Exception setting up logging " + ex1);
    }
    return logpath;
}
Also used : FileLogFormatter(org.opensolaris.opengrok.logger.formatter.FileLogFormatter) IOException(java.io.IOException) ConsoleHandler(java.util.logging.ConsoleHandler) FileHandler(java.util.logging.FileHandler) ConsoleFormatter(org.opensolaris.opengrok.logger.formatter.ConsoleFormatter) File(java.io.File)

Aggregations

File (java.io.File)1 IOException (java.io.IOException)1 ConsoleHandler (java.util.logging.ConsoleHandler)1 FileHandler (java.util.logging.FileHandler)1 ConsoleFormatter (org.opensolaris.opengrok.logger.formatter.ConsoleFormatter)1 FileLogFormatter (org.opensolaris.opengrok.logger.formatter.FileLogFormatter)1