0
我正在開發一個REST API,並且我想將所有調用寫入一個csv文件。所以,我用的是opencsv庫,我寫了下面的代碼:如何將每個請求記錄到csv文件
CSVWriter writer;
Map<String, Object> resultMap = new HashMap<String, Object>();
@RequestMapping(value="/data",produces={MediaType.APPLICATION_JSON_VALUE},method=RequestMethod.GET)
public ResponseEntity<Map<String, Object>> getdata(@RequestParam("id")int id,@RequestParam("user")String user) throws IOException{
String[] log = new String[1];
log[0]=id+","+"+user+","+new Timestamp(System.currentTimeMillis())+",";
writer.writeNext(log);
writer.flushQuietly();
//....rest code here
return new ResponseEntity<Map<String, Object>>(resultMap,HttpStatus.OK);
}
但這只是打印了幾個,不打印所有的請求csv.Why會發生這種情況?任何幫助表示讚賞。
如果將它們記錄在單獨的日誌文件中會更好。檢查記錄器集成。 – cody123
但是由於請求更多,文件的數量會更多。最後,如果它是一個文件,那麼如果需要,將一個文件作爲csv導入數據庫會很容易。 – Ricky
@Ricky - 但如果你的API接收到很多調用,並且每個調用都需要等待寫入CSV文件,那麼它可能會成爲一個嚴重的瓶頸。 cody123是正確的,請檢查如何進行正確的日誌記錄。 –