1 26 package org.archive.crawler.util; 27 28 import java.io.File ; 29 import java.lang.reflect.Constructor ; 30 import java.util.logging.FileHandler ; 31 import java.util.logging.Formatter ; 32 import java.util.logging.Logger ; 33 34 import org.archive.util.PropertyUtils; 35 36 40 public class LogUtils { 41 54 public static void createFileLogger(File logsDir, String baseName, 55 Logger logger) { 56 int limit = 57 PropertyUtils.getIntProperty("java.util.logging.FileHandler.limit", 58 1024 * 1024 * 1024 * 1024); 59 int count = 60 PropertyUtils.getIntProperty("java.util.logging.FileHandler.count", 1); 61 try { 62 String tmp = 63 System.getProperty("java.util.logging.FileHandler.pattern"); 64 File logFile = new File (logsDir, baseName + 65 ((tmp != null && tmp.length() > 0)? tmp: ".log")); 66 FileHandler fh = new FileHandler (logFile.getAbsolutePath(), limit, 67 count, true); 68 tmp = System.getProperty("java.util.logging.FileHandler.formatter"); 70 if (tmp != null && tmp.length() > 0) { 71 Constructor co = Class.forName(tmp). 72 getConstructor(new Class [] {}); 73 Formatter f = (Formatter ) co.newInstance(new Object [] {}); 74 fh.setFormatter(f); 75 } 76 logger.addHandler(fh); 77 logger.setUseParentHandlers(false); 78 } catch (Exception e) { 79 logger.severe("Failed customization of logger: " + e.getMessage()); 80 } 81 } 82 } 83 | Popular Tags |