package org.weiboad.ragnar.server.controller.ragnarlog;
import com.google.gson.JsonArray;
import com.google.gson.JsonParser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.weiboad.ragnar.server.data.ResponseJson;
import org.weiboad.ragnar.server.processor.BizLogProcessor;
@RestController
public class PutBizLog {
Logger log = LoggerFactory.getLogger(PutBizLog.class);
@Autowired
private BizLogProcessor bizLogProcessor;
@RequestMapping(value = "/log/bizlog/put", method = RequestMethod.POST)
@ResponseBody
public ResponseJson appendLog(@RequestParam(value = "contents", required = false) String contents) {
ResponseJson result = new ResponseJson();
if (contents == null || contents.length() == 0) {
result.setCode(401);
result.setMsg("Plasee set the contents paramter!");
return result;
}
//split the json to by \n
String[] contentslist = contents.split("\n");
if (contentslist.length <= 0) {
result.setCode(405);
result.setMsg("contents paramter format Wrong!");
return result;
}
for (int i = 0; i < contentslist.length; i++) {
String jsonstr = contentslist[i].trim();
JsonParser valueParse = new JsonParser();
try {
JsonArray valueArr = (JsonArray) valueParse.parse(jsonstr);
bizLogProcessor.insertDataQueue(valueArr);
} catch (Exception e) {
//e.printStackTrace();
log.error("parser json wrong:" + jsonstr);
}
}
return result;
}
}