zoukankan      html  css  js  c++  java
  • log工具类

    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 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()) return;
    
        Map timeMap = (Map)threadMap.get();
        if (timeMap == null) {
          timeMap = new HashMap();
          threadMap.set(timeMap);
        }
    
        String mapKey = cls.getName() + ":" + key;
        Date curDate = new Date();
        if (isStart) {
          timeMap.put(mapKey, curDate);
        } else {
          Date lastDate = (Date)timeMap.get(mapKey);
          if (lastDate != null) {
            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();
          }
        }
      }
    }
  • 相关阅读:
    Codeforces Round #744 (Div. 3) (CF1579) 题解
    Codeforces Round #748 (Div. 3) (CF1593)题解
    NOIP2018初赛游记
    模板:高精度
    博客园,初见安~~
    20200211学习
    nyoj 1103 区域赛系列一多边形划分
    南阳oj 845 无主之地1
    hdu 2080 夹角有多大II
    hdu 分拆素数和
  • 原文地址:https://www.cnblogs.com/yy123/p/6673866.html
Copyright © 2011-2022 走看看