在Stream中记录 [英] Logging inside Stream
本文介绍了在Stream中记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试将这段代码转换为Java 8流:
I am trying to convert this piece of code to Java 8 stream:
if(list!=null && list.size()>0){
Actor actor = null;
for(Actor actor:list){
log.info("Actor being read: " actor.getCode());
List areaList = areaDAO.getArea(actor.getCode());
if (areaList.size() > 0)
{
actor.setArea((String) areaList.get(0));
log.info("Area{" + areaList.get(0)
+ "} is fetched for actor{" + actor.getCode() + "}.");
}
this.getContext().setReadCount(1);
}
}
但是我不知道如何处理登录这个案例?这是一个好习惯吗?感谢您的帮助。谢谢
However I am not sure how to deal with logging in this case? Is it a good practice? Appreciate your help. Thanks
推荐答案
我们经常将登录信息放入代码中以支持调试。在这种情况下,我建议你看一下 peek 方法。
Often we put logging into our code to support debugging. In this case I would recommend you to have a look at the peek method.
这是一个提示:
List<Actor> actors = ...;
actors.
stream().
peek(a -> System.out.println("Processing code: " + a.getCode())).
forEach(a -> {/*Do something here*/});
来自javadocs:
From the javadocs:
API注意:
此方法主要用于支持调试,您希望在元素流经管道中的某个点时查看元素:
API Note: This method exists mainly to support debugging, where you want to see the elements as they flow past a certain point in a pipeline:
这篇关于在Stream中记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文