我正在实施一项需要创建详细报告的预定作业。 报告示例如下所示:
date - Started job
date - Looking for stuff to process
date - Got x stuff to process
date - Processing y1
date - done
date - Processing y2
date - done
date - Processing y3
date - Failed with error : this_is_why_processing_failed
date - Processing completed
date - Job completed in z seconds
执行所有处理的实际代码可以在多个类中。 实现类似这样的事情的显而易见的方法是使用StringBuilder并传递它以便附加消息。
另一种更高级的方法是创建一个单例,并且在所有参与处理的类(可能是Thread名称?)中以某种方式知道id,并将报告字符串存储在那里。
有更好的方法吗? 是否有创建工作报告的最佳实践?
将使用ejb计时器触发作业。
答案 0 :(得分:0)
您应该使用记录器,而不是绕过StringBuilder
。
具有ThreadLocal
成员字段的单身人士可以是存储"令牌的好地方。用于所有为同一工作工作的班级。
答案 1 :(得分:0)
或者您可以使用专为此原因设计的Log4j。