wg-basic/basic-util/src/main/java/ink/wgink/util/log/LogUtil.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));
}
}