package com.creditease.ns4.gear.watchdog.common.log; import com.creditease.ns4.gear.watchdog.common.DateUtil; import java.io.File; import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.Logger; /** * @author outman * @description JDK日志包装 * @date 2019/1/15 */ public class LogFactory { /** * 全局Log的名称 */ public static final String LOG_NAME = "Global"; /** * 静态变量globleLog */ private static Logger globalLog; /** * 初始化全局Logger * * @return */ private static void initGlobalLog(String logPath) { // 获取Log Logger log = Logger.getLogger(LOG_NAME); // 为log设置全局等级 log.setLevel(Level.ALL); Handler[] hs = log.getHandlers(); for (Handler h : hs) { h.close(); log.removeHandler(h); } // 添加控制台handler //LogUtil.addConsoleHandler(log, Level.INFO); // 添加文件输出handler LogUtil.addFileHandler(log, Level.INFO, logPath); // 设置不适用父类的handlers,这样不会在控制台重复输出信息 log.setUseParentHandlers(false); globalLog = log; } public static Logger getGlobalLog() { return globalLog; } public static void initLog(String logFilePath, String logFileName) { StringBuilder logPathBuilder = new StringBuilder(logFilePath); File logFilePathFile = new File(logFilePath); if (!logFilePathFile.exists()) { logFilePathFile.mkdirs(); } logPathBuilder.append(File.separator).append(File.separator); logPathBuilder.append(logFileName).append("_").append(DateUtil.getCurrentDate(DateUtil.DATE_PATTERN_NOMARK)).append(".log"); initGlobalLog(logPathBuilder.toString()); } }