存储日志到es:
/**
* 存储到es
* @param logs
*/
@Override
public void save(List<AppleAppLogDto> logs) {
log.debug("save event logs: " + logs.size());
BulkRequest request = new BulkRequest();
for (AppleAppLogDto appleAppLogDto : logs) {
// String date = DATE_FORMAT.format(appleAppLogDto.getOperateAt());
appleAppLogDto.setId(UUID.randomUUID().toString().replace("-", ""));//uuid
appleAppLogDto.setOperateAt(new Date());
IndexRequest index = new IndexRequest(INDEX, TYPE, appleAppLogDto.getId());//index相当于数据库。type相当于表 IndexRequest也可提供id,若不提供时,id将自动生成;
index.source(appleAppLogDto.toJson(), XContentType.JSON);
request.add(index);
}
try {
client.bulk(request, RequestOptions.DEFAULT);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}

本文介绍了一种批量将应用日志存储至Elasticsearch的方法,通过使用BulkRequest来提高写入效率,详细展示了如何设置索引、类型及ID,并通过IndexRequest将日志数据转换为JSON格式进行存储。
2973

被折叠的 条评论
为什么被折叠?



