| | |
| | | * Copyright 2008-2010 Sun Microsystems, Inc. |
| | | * Portions Copyright 2011-2015 ForgeRock AS |
| | | */ |
| | | |
| | | package org.opends.quicksetup; |
| | | |
| | | import java.io.File; |
| | |
| | | |
| | | import org.opends.server.loggers.JDKLogging; |
| | | |
| | | /** |
| | | * Utilities for setting up QuickSetup application log. |
| | | */ |
| | | public class QuickSetupLog { |
| | | /** Utilities for setting up QuickSetup application log. */ |
| | | public class QuickSetupLog |
| | | { |
| | | private static final String OPENDS_LOGGER_NAME = "org.opends"; |
| | | |
| | | private static File logFile; |
| | | private static FileHandler fileHandler; |
| | | private static File LOG_FILE; |
| | | private static FileHandler FILE_HANDLER; |
| | | |
| | | /** |
| | | * Creates a new file handler for writing log messages to the file indicated |
| | | * by <code>file</code>. |
| | | * @param file log file to which log messages will be written |
| | | * @throws IOException if something goes wrong |
| | | * |
| | | * @param file |
| | | * log file to which log messages will be written |
| | | * @throws IOException |
| | | * if something goes wrong |
| | | */ |
| | | public static void initLogFileHandler(File file) throws IOException { |
| | | if (!isInitialized()) { |
| | | logFile = file; |
| | | fileHandler = new FileHandler(logFile.getCanonicalPath()); |
| | | fileHandler.setFormatter(JDKLogging.getFormatter()); |
| | | Logger logger = Logger.getLogger("org.opends"); |
| | | logger.addHandler(fileHandler); |
| | | disableConsoleLogging(); |
| | | logger = Logger.getLogger("org.opends.quicksetup"); |
| | | public static void initLogFileHandler(File file) throws IOException |
| | | { |
| | | if (!isInitialized()) |
| | | { |
| | | LOG_FILE = file; |
| | | FILE_HANDLER = new FileHandler(LOG_FILE.getCanonicalPath()); |
| | | FILE_HANDLER.setFormatter(JDKLogging.getFormatter()); |
| | | Logger logger = Logger.getLogger(OPENDS_LOGGER_NAME); |
| | | logger.addHandler(FILE_HANDLER); |
| | | disableConsoleLogging(logger); |
| | | logger = Logger.getLogger(OPENDS_LOGGER_NAME + ".quicksetup"); |
| | | logger.info(getInitialLogRecord()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Creates a new file handler for writing log messages of a given package |
| | | * to the file indicated by <code>file</code>. |
| | | * @param file log file to which log messages will be written. |
| | | * @param packageName the name of the package of the classes that generate |
| | | * log messages. |
| | | * @throws IOException if something goes wrong |
| | | * Creates a new file handler for writing log messages of a given package to |
| | | * the file indicated by <code>file</code>. |
| | | * |
| | | * @param file |
| | | * log file to which log messages will be written. |
| | | * @param packageName |
| | | * the name of the package of the classes that generate log messages. |
| | | * @throws IOException |
| | | * if something goes wrong |
| | | */ |
| | | public static void initLogFileHandler(File file, String packageName) |
| | | throws IOException { |
| | | public static void initLogFileHandler(File file, String packageName) throws IOException |
| | | { |
| | | initLogFileHandler(file); |
| | | Logger logger = Logger.getLogger(packageName); |
| | | logger.addHandler(fileHandler); |
| | | if (disableLoggingToConsole()) |
| | | { |
| | | logger.setUseParentHandlers(false); // disable logging to console |
| | | } |
| | | final Logger logger = Logger.getLogger(packageName); |
| | | logger.addHandler(FILE_HANDLER); |
| | | disableConsoleLogging(logger); |
| | | } |
| | | |
| | | /** |
| | | * Prevents messages written to loggers from appearing in the console |
| | | * output. |
| | | */ |
| | | public static void disableConsoleLogging() { |
| | | if (disableLoggingToConsole()) |
| | | /** Prevents messages written to loggers from appearing in the console output. */ |
| | | private static void disableConsoleLogging(final Logger logger) |
| | | { |
| | | if (!"true".equals(System.getenv("OPENDJ_LOG_TO_STDOUT"))) |
| | | { |
| | | Logger logger = Logger.getLogger("org.opends"); |
| | | logger.setUseParentHandlers(false); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * Gets the name of the log file. |
| | | * |
| | | * @return File representing the log file |
| | | */ |
| | | public static File getLogFile() { |
| | | return logFile; |
| | | public static File getLogFile() |
| | | { |
| | | return LOG_FILE; |
| | | } |
| | | |
| | | /** |
| | | * Indicates whether or not the log file has been initialized. |
| | | * |
| | | * @return true when the log file has been initialized |
| | | */ |
| | | public static boolean isInitialized() { |
| | | return logFile != null; |
| | | } |
| | | |
| | | private static String getInitialLogRecord() { |
| | | // Note; currently the logs are not internationalized. |
| | | return "QuickSetup application launched " + |
| | | DateFormat.getDateTimeInstance(DateFormat.LONG, |
| | | DateFormat.LONG).format(new Date()); |
| | | } |
| | | |
| | | private static boolean disableLoggingToConsole() |
| | | public static boolean isInitialized() |
| | | { |
| | | return !"true".equals(System.getenv("OPENDJ_LOG_TO_STDOUT")); |
| | | return LOG_FILE != null; |
| | | } |
| | | |
| | | private static String getInitialLogRecord() |
| | | { |
| | | // Note; currently the logs are not internationalized. |
| | | return "QuickSetup application launched " |
| | | + DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG).format(new Date()); |
| | | } |
| | | } |