zoukankan      html  css  js  c++  java
  • 日志工具类

    package com.pt.platform.core.common;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.HashMap;
    import java.util.Map;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    public class JYLoggerUtil {
        private static final Logger log = LoggerFactory.getLogger(JYLoggerUtil.class);
        private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        private static ThreadLocal<Map<String, Date>> threadMap = new ThreadLocal();
    
        public JYLoggerUtil() {
        }
    
        public static <T> void info(Class<T> clazz, String message) {
            Logger logger = LoggerFactory.getLogger(clazz);
            logger.info(message);
        }
    
        public static <T> void info(Class<T> clazz, String message, Throwable t) {
            Logger logger = LoggerFactory.getLogger(clazz);
            logger.info(message, t);
        }
    
        public static <T> void debug(Class<T> clazz, String message) {
            Logger logger = LoggerFactory.getLogger(clazz);
            logger.debug(message);
        }
    
        public static <T> void error(Class<T> clazz, String message) {
            Logger logger = LoggerFactory.getLogger(clazz);
            logger.error(message);
        }
    
        public static <T> void error(Class<T> clazz, String message, Exception ex) {
            Logger logger = LoggerFactory.getLogger(clazz);
            logger.error(message, ex);
        }
    
        public static <T> void logCurrentTime(String key, boolean isStart, Class<T> cls) {
            if(log.isInfoEnabled()) {
                Object timeMap = (Map)threadMap.get();
                if(timeMap == null) {
                    timeMap = new HashMap();
                    threadMap.set(timeMap);
                }
    
                String mapKey = cls.getName() + ":" + key;
                Date curDate = new Date();
                if(isStart) {
                    ((Map)timeMap).put(mapKey, curDate);
                } else {
                    Date lastDate = (Date)((Map)timeMap).get(mapKey);
                    if(lastDate != null) {
                        ((Map)timeMap).remove(mapKey);
                        StringBuilder logInfo = new StringBuilder("=========");
                        logInfo.append(",(位置:").append(cls.getName());
                        logInfo.append(",内容:").append(key).append(")");
                        logInfo.append(",间隔:").append(curDate.getTime() - lastDate.getTime());
                        logInfo.append(",开始start:").append(sdf.format(lastDate));
                        logInfo.append(",结束end:").append(sdf.format(curDate)).append("=========");
                        log.info(logInfo.toString());
                        threadMap.remove();
                    }
                }
    
            }
        }
    }
  • 相关阅读:
    luogu P1641 [SCOI2010]生成字符串
    luogu P2662 牛场围栏
    luogu P3193 [HNOI2008]GT考试
    luogu P3293 [SCOI2016]美味
    luogu P2048 [NOI2010]超级钢琴
    Wannafly挑战赛21 E 未来城市规划
    luogu P2770 航空路线问题
    luogu P4082 [USACO17DEC]Push a Box
    运维交流平台
    elk之[logstash-input-file]插件使用详解
  • 原文地址:https://www.cnblogs.com/yy123/p/7388255.html
Copyright © 2011-2022 走看看