admin
2021-02-06 d1f26741bddf6f512d62c0100d42c52be8d37e76
fanli/src/main/java/com/yeshi/fanli/log/LogHelper.java
@@ -1,228 +1,265 @@
package com.yeshi.fanli.log;
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;
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");
   private static Logger requestTimeLogger = Logger.getLogger("requestTimeLog");
   private static Logger jobLogger = Logger.getLogger("jobLog");
   private static Logger mqLogger = Logger.getLogger("mqLog");
   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);
   }
   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);
   }
   /**
    * 登录信息
    *
    * @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.log", date);
      if (os.toLowerCase().startsWith("win")) {
         filePath = String.format("C:/logs/error_detail_%s.log", date);
      } else
         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");
         e.printStackTrace(ps);
         ps.flush();
         ps.close();
      } catch (Exception ee) {
      } finally {
         try {
            out.close();
         } catch (IOException e1) {
            e1.printStackTrace();
         }
      }
   }
   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.log", date);
      if (os.toLowerCase().startsWith("win")) {
         filePath = String.format("C:/logs/error_detail_%s.log", date);
      } else
         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");
         ps.print("链接:" + url);
         ps.print("\n");
         ps.print("参数:" + params);
         ps.print("\n");
         e.printStackTrace(ps);
         ps.flush();
         ps.close();
      } catch (Exception e1) {
      } finally {
         try {
            out.close();
         } catch (IOException 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) {
      }
   }
   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);
   }
   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);
   }
}
package com.yeshi.fanli.log;
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;
import org.yeshi.utils.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 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");
    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");
    private static Logger teamLogger = Logger.getLogger("teamLog");
    private static Logger cloudLogger = Logger.getLogger("cloudLog");
    private static Logger pushHWLog = Logger.getLogger("pushHWLog");
    public static void userProtocolListen(Object obj) {
        userProtocolListenLog.info(obj);
    }
    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.info(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) {
        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.log", date);
        if (os.toLowerCase().startsWith("win")) {
            filePath = String.format("C:/logs/error_detail_%s.log", date);
        } else
            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");
            e.printStackTrace(ps);
            ps.flush();
            ps.close();
        } catch (Exception ee) {
        } finally {
            try {
                out.close();
            } catch (IOException e1) {
                e1.printStackTrace();
            }
        }
    }
    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.log", date);
        if (os.toLowerCase().startsWith("win")) {
            filePath = String.format("C:/logs/error_detail_%s.log", date);
        } else
            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");
            ps.print("链接:" + url);
            ps.print("\n");
            ps.print("参数:" + params);
            ps.print("\n");
            e.printStackTrace(ps);
            ps.flush();
            ps.close();
        } catch (Exception e1) {
        } finally {
            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) {
        }
    }
    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);
    }
    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) {
        }
        String content = String.format("链接:%s  参数:%s  响应时间:%s", url, paramsStr, time + "");
        requestTimeLogger.info(content);
    }
}