yujian
2020-05-09 7e7db2fa55a9a3af46d4fd8ede0dee147f101d64
fanli/src/main/java/com/yeshi/fanli/log/LogHelper.java
@@ -2,8 +2,13 @@
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
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 org.apache.log4j.Logger;
@@ -17,8 +22,6 @@
   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");
@@ -28,6 +31,27 @@
   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");
   private static Logger requestTimeLogger = Logger.getLogger("requestTimeLog");
   private static Logger jobLogger = Logger.getLogger("jobLog");
   private static Logger mqLogger = Logger.getLogger("mqLog");
   private static Logger vipInfoLogger = Logger.getLogger("vipInfoLog");
   private static Logger userProtocolListenLog = Logger.getLogger("userProtocolListenLog");
   public static void userProtocolListen(Object obj) {
      userProtocolListenLog.info(obj);
   }
   public static void userInfo(Object obj) {
      userLogger.info(obj);
@@ -43,10 +67,6 @@
   public static void orderErrorInfo(Object obj) {
      orderLogger.error(obj);
   }
   public static void cookieLog(Object obj) {
      cookieLogger.info(obj);
   }
   public static void userOrder(Object obj) {
@@ -69,41 +89,77 @@
      shareGoodsLogger.info(obj);
   }
   public static void errorDetailInfo(Throwable e) throws Exception {
   public static void job(Object obj) {
      jobLogger.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);
   }
   /**
    * 登录信息
    *
    * @param obj
    */
   public static void lgoinInfo(Object obj) {
      loginLogger.info(obj);
   }
   public static void errorDetailInfo(Throwable e) {
      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);
      String filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.log", date);
      if (os.toLowerCase().startsWith("win")) {
         filePath = String.format("C:/logs/error_detail_%s.txt", date);
         filePath = String.format("C:/logs/error_detail_%s.log", date);
      } else
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", date);
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.log", date);
      OutputStream out = new FileOutputStream(new File(filePath), true);
      OutputStream out = null;
      try {
         out = new FileOutputStream(new File(filePath), true);
         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();
      } catch (Exception ee) {
      } finally {
         out.close();
         try {
            out.close();
         } catch (IOException e1) {
            e1.printStackTrace();
         }
      }
   }
   public static void errorDetailInfo(Throwable e, String params, String url) throws Exception {
   public static void errorDetailInfo(Throwable e, String params, String url) {
      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);
      String filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.log", date);
      if (os.toLowerCase().startsWith("win")) {
         filePath = String.format("C:/logs/error_detail_%s.txt", date);
         filePath = String.format("C:/logs/error_detail_%s.log", date);
      } else
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", date);
      OutputStream out = new FileOutputStream(new File(filePath), true);
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.log", date);
      OutputStream out = null;
      try {
         out = new FileOutputStream(new File(filePath), true);
         PrintStream ps = new PrintStream(out);
         ps.print(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd HH:mm:ss"));
         ps.print("\n");
@@ -114,8 +170,41 @@
         e.printStackTrace(ps);
         ps.flush();
         ps.close();
      } catch (Exception e1) {
      } finally {
         out.close();
         try {
            out.close();
         } catch (Exception e1) {
            e1.printStackTrace();
         }
      }
   }
   /**
    * 请求日志
    *
    * @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) {
      }
   }
@@ -123,4 +212,32 @@
      String msg = url + "\n" + params + "\n" + response;
      httpLogger.info(msg);
   }
   public static void smsInfo(String info) {
      if (info != null)
         smsLogger.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) {
      }
      String content = String.format("链接:%s  参数:%s  响应时间:%s", url, paramsStr, time + "");
      requestTimeLogger.info(content);
   }
}