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();
                    }
                }
    
            }
        }
    }
  • 相关阅读:
    烂泥:mysql修改本地主机连接
    烂泥:ESXI开启SNMP服务
    烂泥:【解决】VMware Workstation中安装ESXI5.0双网卡问题
    JS-日历签到
    CSS-文本(中,英)
    js-无缝向上滚动
    js-键盘回车搜索enter
    小程序-初次进入小程序的授权问题(授权更新后的完整步骤)button主动授权
    字蛛(font-spider)-单独压缩字体(解决页面少有的特殊字体的字体包引用)
    js-利用插件qrcode.min.js,前端实时生成二维码
  • 原文地址:https://www.cnblogs.com/yy123/p/7388255.html
Copyright © 2011-2022 走看看