admin
2019-08-26 d28bed1a1275131a5ca37f7da37961e2b518ac07
fanli/src/main/java/com/yeshi/fanli/log/LogHelper.java
@@ -2,8 +2,15 @@
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 javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
@@ -30,6 +37,12 @@
   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");
   public static void userInfo(Object obj) {
      userLogger.info(obj);
@@ -73,13 +86,14 @@
   /**
    * 登录信息
    *
    * @param obj
    */
   public static void lgoinInfo(Object obj) {
      loginLogger.info(obj);
   }
   public static void errorDetailInfo(Throwable e) throws Exception {
   public static void errorDetailInfo(Throwable e) {
      e.printStackTrace();
      String date = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy_MM_dd");
      String os = System.getProperty("os.name");
@@ -89,20 +103,28 @@
      } else
         filePath = String.format("/usr/local/tomcat8/logs/error_detail_%s.txt", 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");
@@ -111,9 +133,9 @@
         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);
      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");
@@ -124,8 +146,40 @@
         e.printStackTrace(ps);
         ps.flush();
         ps.close();
      } catch (Exception e1) {
      } finally {
         out.close();
         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) {
      }
   }
@@ -133,4 +187,31 @@
      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);
   }
}