1 package org.columba.core.logging; 17 18 import java.io.File ; 19 import java.io.IOException ; 20 import java.util.logging.ConsoleHandler ; 21 import java.util.logging.FileHandler ; 22 import java.util.logging.Handler ; 23 import java.util.logging.Level ; 24 import java.util.logging.Logger ; 25 import java.util.logging.SimpleFormatter ; 26 27 import org.columba.ristretto.log.RistrettoLogger; 28 29 48 public final class Logging { 49 50 private static final Logger LOG = Logger.getLogger("org.columba"); 51 52 private static ConsoleHandler consoleHandler; 53 54 55 public static boolean DEBUG = false; 56 57 60 private Logging() { 61 } 62 63 71 private static boolean userHasDefinedLogging() { 72 return (System.getProperty("java.util.logging.config.file") != null); 73 } 74 75 79 public static void createDefaultHandler() { 80 81 if (!userHasDefinedLogging()) { 82 83 LOG.setUseParentHandlers(false); 86 87 consoleHandler = new ConsoleHandler (); 89 90 consoleHandler.setFormatter(new OneLineFormatter()); 91 consoleHandler.setLevel(Level.SEVERE); 92 93 LOG.addHandler(consoleHandler); 94 } 95 } 96 97 public static void setDebugging(boolean debug) { 98 if (debug) { 99 consoleHandler.setFormatter(new DebugFormatter()); 100 consoleHandler.setLevel(Level.ALL); 101 102 LOG.setLevel(Level.ALL); 103 107 RistrettoLogger.setLogStream(System.out); 110 } else { 111 consoleHandler.setFormatter(new OneLineFormatter()); 112 consoleHandler.setLevel(Level.SEVERE); 113 114 LOG.setLevel(Level.SEVERE); 115 } 116 } 117 118 125 public static void createDefaultFileHandler(File configDirectory) { 126 127 if (!userHasDefinedLogging()) { 128 String logConfigFile = System 129 .getProperty("java.util.logging.config.file"); 130 if (logConfigFile == null) { 131 132 File file = new File (configDirectory, "log"); 134 if (!file.exists()) 135 file.mkdir(); 136 137 File loggingFile = new File (file, "columba.log"); 138 139 try { 141 Handler handler = new FileHandler (loggingFile.getPath(), 142 false); 143 handler.setFormatter(new SimpleFormatter ()); 148 if (Logging.DEBUG) { 149 handler.setLevel(Level.ALL); 150 } else { 151 handler.setLevel(Level.WARNING); 152 } 153 154 LOG.addHandler(handler); 155 } catch (IOException ioe) { 156 LOG.severe("Could not start the file logging due to: " 157 + ioe); 158 } 159 } 160 } 161 } 162 } 163
| Popular Tags
|