0
点赞
收藏
分享

微信扫一扫

06 Shell Script特殊变量和模式匹配

日志工具类

  • import java.io.IOException;
    import java.util.logging.*;
     
    // 日志级别枚举类
    enum LogLevel {
        INFO,
        WARNING,
        ERROR
    }
     
    public class LogUtil {
        private static final Logger logger = Logger.getLogger(LogUtil.class.getName());
     
        // 设置日志格式
        static {
            LogManager.getLogManager().reset();
            ConsoleHandler consoleHandler = new ConsoleHandler();
            consoleHandler.setFormatter(new SimpleFormatter());
            logger.addHandler(consoleHandler);
        }
     
        /**
         * 记录信息级别的日志
         * @param message 日志信息
         */
        public static void info(String message) {
            logger.log(Level.INFO, message);
        }
     
        /**
         * 记录警告级别的日志
         * @param message 日志信息
         */
        public static void warning(String message) {
            logger.log(Level.WARNING, message);
        }
     
        /**
         * 记录错误级别的日志
         * @param message 日志信息
         */
        public static void error(String message) {
            logger.log(Level.SEVERE, message);
        }
     
        /**
         * 动态设置日志级别
         * @param logLevel 日志级别
         */
        public static void setLogLevel(LogLevel logLevel) {
            switch (logLevel) {
                case INFO:
                    logger.setLevel(Level.INFO);
                    break;
                case WARNING:
                    logger.setLevel(Level.WARNING);
                    break;
                case ERROR:
                    logger.setLevel(Level.SEVERE);
                    break;
            }
        }
     
        /**
         * 将日志输出到文件
         * @param filePath 文件路径
         */
        public static void setLogFile(String filePath) {
            try {
                FileHandler fileHandler = new FileHandler(filePath);
                fileHandler.setFormatter(new SimpleFormatter());
                logger.addHandler(fileHandler);
            } catch (IOException e) {
                logger.log(Level.SEVERE, "Failed to set log file.", e);
            }
        }
        
        /**
         * 将日志输出到指定的日志处理器
         * @param logHandler 日志处理器
         */
        public static void setLogHandler(Handler logHandler) {
            logger.addHandler(logHandler);
        }
        
        /**
         * 移除指定的日志处理器
         * @param logHandler 日志处理器
         */
        public static void removeLogHandler(Handler logHandler) {
            logger.removeHandler(logHandler);
        }
     
        /**
         * 清除所有的日志处理器
         */
        public static void clearLogHandlers() {
            Handler[] handlers = logger.getHandlers();
            for (Handler handler : handlers) {
                logger.removeHandler(handler);
            }
        }
    }
    
举报

相关推荐

0 条评论