利用String格式化打印日志
示例如下:
for (int i = 0; i < partitionList.size(); i++) {
List<ProductCloudScope> scopeList = partitionList.get(i);
List<Long> itemNbrs = scopeList.stream().map(p -> p.getItemNbr()).collect(Collectors.toList());
try {
Future<ResponseMessage<ArtemisResponse<SkuItemResponse>>> geekRespFuture = aGVAsyncHandle.syncSkuListToGeek(scopeList,itemNbrs,position,partitionList.size(),(i+1));
logger.info("merchandiseSyncAll ---> 仓店:{},共{}批,第{}批商品信息推送Geek+完成,推送数量:{},itemNbrs:{},推送结果:{}",position,partitionList.size(),(i+1),
itemNbrs.size(),JSON.toJSONString(itemNbrs),JSON.toJSONString(geekRespFuture.get()));
geekRespList.add(geekRespFuture.get());
} catch (Exception e) {
String erroMsg = String.format("merchandiseSyncAll ---> 仓店:%s,共%d批,第%d批商品信息推送Geek+异常,推送数量:%d,异常信息:%s", position,partitionList.size(),(i+1),itemNbrs.size(),e.getMessage());
logger.error("{},AGVMerchandiseService merchandiseSyncAll Exception,itemNbrs:{},exception info:{}",erroMsg,itemNbrs,e);
ResponseMessage<ArtemisResponse<SkuItemResponse>> errorResponse = getSkuImportErrorResponse(itemNbrs, erroMsg);
geekRespList.add(errorResponse);
}
}
