73 lines
2.3 KiB
Java
73 lines
2.3 KiB
Java
package ink.wgink.util.log;
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import ink.wgink.pojo.bos.log.ApiLogBO;
|
|
import ink.wgink.pojo.bos.log.RouteLogBO;
|
|
import ink.wgink.util.date.DateUtil;
|
|
import ink.wgink.util.request.RequestUtil;
|
|
import org.slf4j.Logger;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
/**
|
|
* @ClassName: LogUtil
|
|
* @Description: 日志工具
|
|
* @Author: wanggeng
|
|
* @Date: 2021/10/23 11:13 上午
|
|
* @Version: 1.0
|
|
*/
|
|
public class LogUtil {
|
|
private static final Logger LOG = LoggerFactory.getLogger(LogUtil.class);
|
|
|
|
/**
|
|
* 路由日志
|
|
*
|
|
* @param request
|
|
* @param uri
|
|
* @param userId
|
|
* @param userName
|
|
*/
|
|
public static void routeLog(HttpServletRequest request, String uri, String userId, String userName) {
|
|
RouteLogBO routeLogBO = new RouteLogBO();
|
|
routeLogBO.setHost(request.getRemoteAddr());
|
|
routeLogBO.setPort(request.getLocalPort());
|
|
routeLogBO.setRequestIp(RequestUtil.getRequestIp(request));
|
|
routeLogBO.setContext(request.getContextPath());
|
|
routeLogBO.setUri(uri);
|
|
routeLogBO.setRequestTime(DateUtil.getTime());
|
|
routeLogBO.setUserId(userId);
|
|
routeLogBO.setUserName(userName);
|
|
LOG.info("ROUTE-LOG:{}", JSONObject.toJSONString(routeLogBO));
|
|
}
|
|
|
|
/**
|
|
* 接口日志
|
|
*
|
|
* @param request 请求
|
|
* @param uri 路径
|
|
* @param startTime 开始时间
|
|
* @param endTime 结束时间
|
|
* @param userId
|
|
* @param userName
|
|
*/
|
|
public static void apiLog(HttpServletRequest request, String uri, long startTime, long endTime, String userId, String userName) {
|
|
long usedTime = endTime - startTime;
|
|
ApiLogBO apiLogBO = new ApiLogBO();
|
|
apiLogBO.setHost(request.getRemoteAddr());
|
|
apiLogBO.setPort(request.getLocalPort());
|
|
apiLogBO.setRequestIp(RequestUtil.getRequestIp(request));
|
|
apiLogBO.setContext(request.getContextPath());
|
|
apiLogBO.setUri(uri);
|
|
apiLogBO.setRequestTime(DateUtil.getTime());
|
|
apiLogBO.setMethod(request.getMethod());
|
|
apiLogBO.setStartTime(startTime);
|
|
apiLogBO.setEndTime(endTime);
|
|
apiLogBO.setUsedTime(usedTime);
|
|
apiLogBO.setUserId(userId);
|
|
apiLogBO.setUserName(userName);
|
|
LOG.info("API-LOG:{}", JSONObject.toJSONString(apiLogBO));
|
|
}
|
|
|
|
}
|