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);
|
}
|
|
public static void mqInfo(String extraInfo, String topic, String tag, Object data) {
|
String info = extraInfo+"\n"+ "topic:" + topic + "\ntag:" + tag + "\nbody:" + data;
|
mqLogger.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 (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);
|
}
|
}
|