|
@@ -7,13 +7,18 @@
|
|
|
package filter
|
|
|
|
|
|
import (
|
|
|
- "github.com/go-xweb/xweb"
|
|
|
"net"
|
|
|
"net/http"
|
|
|
"qfw/util/mongodb"
|
|
|
"strings"
|
|
|
"sync"
|
|
|
"time"
|
|
|
+
|
|
|
+ "encoding/json"
|
|
|
+ uc "ucbsutil"
|
|
|
+ ca "ucbsutil/cassandra"
|
|
|
+
|
|
|
+ "github.com/go-xweb/xweb"
|
|
|
)
|
|
|
|
|
|
//日志过滤器
|
|
@@ -60,38 +65,45 @@ func addLog(l *logfilter, w http.ResponseWriter, req *http.Request) {
|
|
|
})
|
|
|
}()
|
|
|
}
|
|
|
-
|
|
|
+ md, _ := json.Marshal(req.Form)
|
|
|
+ str := string(md)
|
|
|
logs := map[string]interface{}{
|
|
|
- "l_date": date,
|
|
|
- "s_ip": req.Proto,
|
|
|
- "s_refer": req.Referer(),
|
|
|
- "i_year": timeNow.Year(),
|
|
|
- "i_month": timeNow.Month(),
|
|
|
- "i_day": timeNow.Day(),
|
|
|
- "i_hour": timeNow.Hour(),
|
|
|
- "i_minutes": timeNow.Minute(),
|
|
|
- "s_describe": req.Form,
|
|
|
- "s_client": agent,
|
|
|
- "s_os": GetOS(agent),
|
|
|
- "s_browse": GetBrowse(agent),
|
|
|
- "s_method": req.Method,
|
|
|
- "s_url": s_url,
|
|
|
+ "id": uc.DayShortTime(),
|
|
|
+ "date": date,
|
|
|
+ "ip": req.Proto,
|
|
|
+ "refer": req.Referer(),
|
|
|
+ "year": timeNow.Year(),
|
|
|
+ "month": timeNow.Month(),
|
|
|
+ "day": timeNow.Day(),
|
|
|
+ "hour": timeNow.Hour(),
|
|
|
+ "minutes": timeNow.Minute(),
|
|
|
+ "mdescribe": str,
|
|
|
+ "client": agent,
|
|
|
+ "os": GetOS(agent),
|
|
|
+ "browse": GetBrowse(agent),
|
|
|
+ "method": req.Method,
|
|
|
+ "url": s_url,
|
|
|
}
|
|
|
if hasSession {
|
|
|
- logs["s_userid"] = session.Get("userId")
|
|
|
- logs["s_username"] = userName
|
|
|
- logs["i_usertype"] = session.Get("userType")
|
|
|
- logs["s_nickName"] = session.Get("nickName")
|
|
|
- logs["s_loginName"] = session.Get("loginName")
|
|
|
- logs["s_loginType"] = session.Get("loginType")
|
|
|
+ logs["uid"] = session.Get("userId")
|
|
|
+ logs["uname"] = userName
|
|
|
+ logs["utype"] = session.Get("userType")
|
|
|
+ logs["nick"] = session.Get("nickName")
|
|
|
+ logs["loginn"] = session.Get("loginName")
|
|
|
+ logs["logint"] = session.Get("loginType")
|
|
|
}
|
|
|
lock.Lock()
|
|
|
arr = append(arr, logs)
|
|
|
if len(arr) >= nc {
|
|
|
- tmp := arr
|
|
|
+ /*tmp := arr
|
|
|
arr = make([]map[string]interface{}, 0)
|
|
|
go func() {
|
|
|
mongodb.SaveBulk("logs", tmp...)
|
|
|
+ }()*/
|
|
|
+ tmp := arr
|
|
|
+ arr = make([]map[string]interface{}, 0)
|
|
|
+ go func() {
|
|
|
+ ca.SaveBatch("qfw_logs", tmp)
|
|
|
}()
|
|
|
}
|
|
|
lock.Unlock()
|