引入mongodb,使用队列+单独线程记录访问日志

This commit is contained in:
2018-06-24 15:14:22 +08:00
parent 8b82fbe4db
commit 102a658a5f
9 changed files with 101 additions and 1 deletions

View File

@@ -20,6 +20,7 @@ import org.redkale.util.AnyValue;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.util.Map;
import static com.lxyer.bbs.base.kit.RetCodes.RET_USER_UNLOGIN;
@@ -53,6 +54,9 @@ public class BaseServlet extends HttpServlet {
@Resource
protected CommentService commentService;
@Resource
protected TaskQueue<Map> logQueue;
@Override
public void init(HttpContext context, AnyValue config) {
@@ -87,6 +91,24 @@ public class BaseServlet extends HttpServlet {
return;
}
Kv visLog = new Kv();//ip、time、userid、uri、para
visLog.set("ip", request.getRemoteAddr());
request.getHost();
visLog.set("time", System.currentTimeMillis());
visLog.set("userid", currentid);
visLog.set("uri", request.getRequestURI());
Kv para = Kv.create();
for (String key : request.getParameterNames()){
para.set(key, request.getParameter(key));
}
visLog.set("para", para);
try {
logQueue.put(visLog);
} catch (InterruptedException e) {
e.printStackTrace();
}
/*if ("/".equals(uri)){
finish("/front/index.html", Kv.by("",""));