1

我有遵循 archunit 规则的应用程序,我得到:

NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS

失败的规则——这意味着我不能使用标准的 Java I/O 流。但我可以用什么代替?

如何使用另一种 Java 方法而不是标准流来避免这种架构规则?因为我的拱门规则失败了

4

2 回答 2

4

NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS - System.out、System.err 和 printStackTrace 方法:改用日志库。所以我认为你需要删除所有 printlnSystem.out.println()

于 2020-09-11T14:32:19.130 回答
2

文档,即 的 javadoc ,NO_CLASSES_SHOULD_ACCESS_STANDARD_STREAMS说:

使用正确的日志记录而不是写入控制台通常是一种很好的做法。

  • 无法在生产中配置写入控制台
  • 写入控制台是同步的,可能会导致瓶颈

有关检查此规则的信息,请参阅GeneralCodingRules

您问如何避免这种架构规则。照它说的去做:使用日志!

于 2020-09-11T14:41:11.267 回答