项目增加日志------处理疑难
封装日志工具类
/**
* @author wxy
*/
public class Operator_log {
public static OperatorLog log(HttpServletRequest request, HttpSession session) {
//获取主机ip
InetAddress ipAddress = null;
String localip = null;
try {
ipAddress =InetAddress.getLocalHost();
localip = ipAddress.getHostAddress();
} catch (UnknownHostException e) {
e.printStackTrace();
}
//获取session中的user对象
User users = (User)session.getAttribute("user");
OperatorLog operatorLog = new OperatorLog();
//赋值
operatorLog.setSource_ip(localip);
operatorLog.setDepartment(users.getDepartment());
operatorLog.setUsername(users.getUsername());
operatorLog.setUser_id(users.getId());
operatorLog.setStatus(users.getStatus());
operatorLog.setDepartment_id(5);
//当前时间的时间戳
int totalMilliSeconds = (int) (System.currentTimeMillis()/1000);
operatorLog.setOperate_datetime(String.valueOf(totalMilliSeconds));
operatorLog.setRealname(users.getRealname());
return operatorLog;
}
}
以下是需要点击某个链接需要增加日志
前台js
$("#log_link a").on("click",function () {
$.ajax({
url:"../../configLog/addLogs",//访问路径
type: "POST",
dataType:"json",
data:{
link_url:$(this).attr("href"), //点击链接的地址传到后台
link_name:$(this).text(),//点击链接的名称传到后台
}
})
});
后台增加日志
@RequestMapping("/addLogs")
public void addLogs(@RequestParam(value = "link_name",required = false) String link_name,@RequestParam(value = "link_url",required = false) String link_url,
HttpServletResponse response, HttpServletRequest request, HttpSession session){
//操作日志
OperatorLog operatorLog = Operator_log.log(request, session);
operatorLog.setContent("点击");
operatorLog.setDetails("访问链接["+link_name+"]");
operatorLog.setModule("访问链接");
operatorLog.setResult("成功");
operatorLogService.addOperatorLog(operatorLog);
}
注意点来啦
该处必须加HttpServletResponse response
由于该类无需返回值,所以用void类型,如果不加*HttpServletResponse response,视图解析会自动解析为路径形式,返回的是html或其他文件,报错如下图