admin
2021-09-30 42411e4a26461229c6bca6e89ca55e98a80f5a4e
fanli/src/main/java/com/yeshi/fanli/log/LogHelper.java
@@ -1,178 +1,192 @@
package com.yeshi.fanli.log;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import com.yeshi.fanli.util.TimeUtil;
public class LogHelper {
   // log
   private static Logger userLogger = Logger.getLogger("userInfoLog");
   private static Logger orderLogger = Logger.getLogger("orderLog");
   private static Logger userOrderLogger = Logger.getLogger("userOrderLog");
   private static Logger cookieLogger = Logger.getLogger("cookieLog");
   private static Logger testLogger = Logger.getLogger("testLog");
   private static Logger errorLogger = Logger.getLogger("errorLog");
   private static Logger httpLogger = Logger.getLogger("httpLog");
   private static Logger taoBaoLinkLog = Logger.getLogger("taoBaoLinkLog");
   private static Logger shareGoodsLogger = Logger.getLogger("shareGoodsLog");
   private static Logger loginLogger = Logger.getLogger("loginLog");
   private static Logger smsLogger = Logger.getLogger("smsLog");
   private static Logger requestLogger = Logger.getLogger("requestLog");
   public static void userInfo(Object obj) {
      userLogger.info(obj);
   }
   public static void userErrorInfo(Object obj) {
      userLogger.error(obj);
   }
   public static void orderInfo(Object obj) {
      orderLogger.info(obj);
   }
   public static void orderErrorInfo(Object obj) {
      orderLogger.error(obj);
   }
   public static void cookieLog(Object obj) {
      cookieLogger.info(obj);
   }
   public static void userOrder(Object obj) {
      userOrderLogger.info(obj);
   }
   public static void test(Object obj) {
      testLogger.info(obj);
   }
   public static void error(Object obj) {
      errorLogger.info(obj);
   }
   public static void taoBaoLinkError(Object obj) {
      taoBaoLinkLog.info(obj);
   }
   public static void shareGoods(Object obj) {
      shareGoodsLogger.info(obj);
   }
   /**
    * 登录信息
    *
    * @param obj
    */
   public static void lgoinInfo(Object obj) {
      loginLogger.info(obj);
   }
   public static void errorDetailInfo(Throwable e) throws Exception {
      e.printStackTrace();
      String date = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy_MM_dd");
      String os = System.getProperty("os.name");
      String filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", date);
      if (os.toLowerCase().startsWith("win")) {
         filePath = String.format("C:/logs/error_detail_%s.txt", date);
      } else
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", date);
      OutputStream out = new FileOutputStream(new File(filePath), true);
      try {
         PrintStream ps = new PrintStream(out);
         ps.print(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
         ps.print("\n");
         e.printStackTrace(ps);
         ps.flush();
         ps.close();
      } finally {
         out.close();
      }
   }
   public static void errorDetailInfo(Throwable e, String params, String url) throws Exception {
      e.printStackTrace();
      String date = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy_MM_dd");
      String os = System.getProperty("os.name");
      String filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", date);
      if (os.toLowerCase().startsWith("win")) {
         filePath = String.format("C:/logs/error_detail_%s.txt", date);
      } else
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", date);
      OutputStream out = new FileOutputStream(new File(filePath), true);
      try {
         PrintStream ps = new PrintStream(out);
         ps.print(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
         ps.print("\n");
         ps.print("链接:" + url);
         ps.print("\n");
         ps.print("参数:" + params);
         ps.print("\n");
         e.printStackTrace(ps);
         ps.flush();
         ps.close();
      } finally {
         out.close();
      }
   }
   /**
    * 请求日志
    *
    * @param request
    */
   public static void requestInfo(String url, Map<String, Object> map) {
      try {
         Iterator<String> its = map.keySet().iterator();
         List<String> list = new ArrayList<>();
         while (its.hasNext()) {
            String key = its.next();
            Object value = map.get(key);
            Object[] values = (Object[]) value;
            list.add(key + "=" + values[0].toString());
         }
         String paramsStr = "";
         for (String param : list)
            paramsStr += param + "&";
         if (paramsStr.endsWith("&"))
            paramsStr = paramsStr.substring(0, paramsStr.length() - 1);
         requestLogger.info(String.format("%s#####%s", url, paramsStr));
      } catch (Exception e) {
      }
   }
   public static void httpInfo(String url, String params, String response) {
      String msg = url + "\n" + params + "\n" + response;
      httpLogger.info(msg);
   }
   public static void smsInfo(String info) {
      if (info != null)
         smsLogger.info(info);
   }
}
package com.yeshi.fanli.log;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class LogHelper {
    private static Logger logger = LoggerFactory.getLogger(LogHelper.class);
    private static Logger userLogger = LoggerFactory.getLogger("userInfoLog");
    private static Logger orderLogger = LoggerFactory.getLogger("orderLog");
    private static Logger userOrderLogger = LoggerFactory.getLogger("userOrderLog");
    private static Logger testLogger = LoggerFactory.getLogger("testLog");
    private static Logger errorLogger = LoggerFactory.getLogger("errorLog");
    private static Logger httpLogger = LoggerFactory.getLogger("httpLog");
    private static Logger taoBaoLinkLog = LoggerFactory.getLogger("taoBaoLinkLog");
    private static Logger shareGoodsLogger = LoggerFactory.getLogger("shareGoodsLog");
    private static Logger loginLogger = LoggerFactory.getLogger("loginLog");
    private static Logger smsLogger = LoggerFactory.getLogger("smsLog");
    private static Logger requestLogger = LoggerFactory.getLogger("requestLog");
    private static Logger requestTimeLogger = LoggerFactory.getLogger("requestTimeLog");
    private static Logger jobLogger = LoggerFactory.getLogger("jobLog");
    private static Logger mqLogger = LoggerFactory.getLogger("mqLog");
    private static Logger vipInfoLogger = LoggerFactory.getLogger("vipInfoLog");
    private static Logger teamLogger = LoggerFactory.getLogger("teamLog");
    private static Logger cloudLogger = LoggerFactory.getLogger("cloudLog");
    private static Logger pushHWLog = LoggerFactory.getLogger("pushLog");
    public static void userInfo(Object obj) {
        userLogger.info(obj + "");
    }
    public static void userErrorInfo(Object obj) {
        userLogger.error(obj + "");
    }
    public static void orderInfo(Object obj) {
        orderLogger.info(obj + "");
    }
    public static void orderErrorInfo(Object obj) {
        orderLogger.error(obj + "");
    }
    public static void userOrder(Object obj) {
        userOrderLogger.info(obj + "");
    }
    public static void test(Object obj) {
        testLogger.info(obj + "");
    }
    public static void error(Object obj) {
        errorLogger.error(obj + "");
    }
    public static void taoBaoLinkError(Object obj) {
        taoBaoLinkLog.info(obj + "");
    }
    public static void shareGoods(Object obj) {
        shareGoodsLogger.info(obj + "");
    }
    public static void job(Object obj) {
        jobLogger.info(obj + "");
    }
    public static void pushHW(Object obj) {
        pushHWLog.info(obj + "");
    }
    public static void mqError(String errorMsg, String topic, String tag, Object data) {
        String error = errorMsg + "\ntopic:" + topic + "\ntag:" + tag + "\nbody:" + data;
        mqLogger.error(error);
    }
    public static void mqInfo(String extraInfo, String msgId, String topic, String tag, Object data) {
        String info = extraInfo + "\nmsgId:" + msgId + "\ntopic:" + topic + "\ntag:" + tag + "\nbody:" + data;
        mqLogger.info(info);
    }
    public static void vipInfo(Object obj) {
        vipInfoLogger.info(obj + "");
    }
    public static void cloudInfo(Object info) {
        if (info != null)
            cloudLogger.info(info + "");
    }
    /**
     * 登录信息
     *
     * @param obj
     */
    public static void lgoinInfo(Object obj) {
        loginLogger.info(obj + "");
    }
    public static void errorDetailInfo(Throwable e) {
        logger.error("出错:", e);
    }
    public static void errorDetailInfo(Throwable e, String params, String url) {
        logger.error(String.format("链接:%s,参数:%s", url, params), e);
    }
    /**
     * 请求日志
     *
     * @param url
     * @param map
     */
    public static void requestInfo(String url, Map<String, Object> map) {
        try {
            Iterator<String> its = map.keySet().iterator();
            List<String> list = new ArrayList<>();
            while (its.hasNext()) {
                String key = its.next();
                Object value = map.get(key);
                Object[] values = (Object[]) value;
                list.add(key + "=" + values[0].toString());
            }
            String paramsStr = "";
            for (String param : list)
                paramsStr += param + "&";
            if (paramsStr.endsWith("&"))
                paramsStr = paramsStr.substring(0, paramsStr.length() - 1);
            requestLogger.info("{}#####{}", url, paramsStr);
        } catch (Exception e) {
        }
    }
    public static void smsInfo(String info) {
        if (info != null)
            smsLogger.info(info);
    }
    public static void teamInfo(String info) {
        if (info != null)
            teamLogger.info(info);
    }
    public static void requestTime(String url, Map<String, Object> params, long time) {
        String paramsStr = "";
        try {
            Iterator<String> its = params.keySet().iterator();
            List<String> list = new ArrayList<>();
            while (its.hasNext()) {
                String key = its.next();
                Object value = params.get(key);
                Object[] values = (Object[]) value;
                list.add(key + "=" + values[0].toString());
            }
            for (String param : list)
                paramsStr += param + "&";
            if (paramsStr.endsWith("&"))
                paramsStr = paramsStr.substring(0, paramsStr.length() - 1);
        } catch (Exception e) {
        }
        requestTimeLogger.info("链接:{}  参数:{}  响应时间:{}", new String[]{url, paramsStr, time + ""});
    }
}