diff options
author | Christopher Speller <crspeller@gmail.com> | 2015-10-01 07:26:54 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2015-10-01 07:26:54 -0400 |
commit | 9ce826863bdb279b5b19e16c30cd02b8bbae1ff4 (patch) | |
tree | b990b0dc53543542bd89fb7e07cc4e36abe87b5e /api/admin.go | |
parent | 53bdc34f3768b06a0cffdcaa52ca5335f52339d0 (diff) | |
parent | 0da42c555943fde2c8623555ca4396a0bbf9ae3e (diff) | |
download | chat-9ce826863bdb279b5b19e16c30cd02b8bbae1ff4.tar.gz chat-9ce826863bdb279b5b19e16c30cd02b8bbae1ff4.tar.bz2 chat-9ce826863bdb279b5b19e16c30cd02b8bbae1ff4.zip |
Merge pull request #866 from mattermost/PLT-345
PLT-345 adding client side logging
Diffstat (limited to 'api/admin.go')
-rw-r--r-- | api/admin.go | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/api/admin.go b/api/admin.go index 3ef8c12a8..d9714d6d2 100644 --- a/api/admin.go +++ b/api/admin.go @@ -23,8 +23,10 @@ func InitAdmin(r *mux.Router) { sr.Handle("/logs", ApiUserRequired(getLogs)).Methods("GET") sr.Handle("/config", ApiUserRequired(getConfig)).Methods("GET") sr.Handle("/save_config", ApiUserRequired(saveConfig)).Methods("POST") - sr.Handle("/client_props", ApiAppHandler(getClientProperties)).Methods("GET") sr.Handle("/test_email", ApiUserRequired(testEmail)).Methods("POST") + sr.Handle("/client_props", ApiAppHandler(getClientProperties)).Methods("GET") + sr.Handle("/log_client", ApiAppHandler(logClient)).Methods("POST") + } func getLogs(c *Context, w http.ResponseWriter, r *http.Request) { @@ -59,6 +61,26 @@ func getClientProperties(c *Context, w http.ResponseWriter, r *http.Request) { w.Write([]byte(model.MapToJson(utils.ClientProperties))) } +func logClient(c *Context, w http.ResponseWriter, r *http.Request) { + m := model.MapFromJson(r.Body) + + lvl := m["level"] + msg := m["message"] + + if len(msg) > 400 { + msg = msg[0:399] + } + + if lvl == "ERROR" { + err := model.NewAppError("client", msg, "") + c.LogError(err) + } + + rm := make(map[string]string) + rm["SUCCESS"] = "true" + w.Write([]byte(model.MapToJson(rm))) +} + func getConfig(c *Context, w http.ResponseWriter, r *http.Request) { if !c.HasSystemAdminPermissions("getConfig") { return |