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是正确的,请检查如何进行正确的日志记录。 –