我写了一个小程序(50-60行)来帮助我自己的开发。从命令行调用 ,基本上下载一些文件并解密它们。它不是任何产品的一部分。我认为它可能对我小组中的其他开发人员有用,所以我提交了它以进行代码审查。评论回来后我需要将System.out.println
- s更改为log4j。
输出包括每个下载文件的名称和完成后的消息。
这有点矫枉过正吗?我认为是。
答案 0 :(得分:2)
似乎你在征求意见,这可能会被标记为关闭,但同时我同意,println完全适用。但是,调试和信息消息通常发送到System.err而不是System.out。
答案 1 :(得分:1)
如果您希望人们重复使用您的代码,您将需要使用某种记录器。如果您打算使用记录器,我建议您使用SLF4J而不是log4j。这将允许一些使用您的代码的下游开发人员使用他们想要实现的任何日志框架,或者对SLF4J API(log4j,java.util.logging,logback等)具有绑定。
如果您不关心任何人重复使用您的代码,而且这是一个独立的产品,那么它可能是过度的。
答案 2 :(得分:0)
您打印到System.out的任何内容都将转到“标准输出”,您可以将其重定向到文件以进行进一步分析,但这非常不灵活。
如果使用System.out,则无法过滤标准输出的内容...将打印所有内容。通过使用任何日志框架,如SLF4J,Commons Logging或您可以使用log4j,您可以设置不同的日志记录级别。
基本上您不希望看到每条调试消息。您可以在记录器的帮助下设置各种日志记录级别,例如WARNING
,DEBUG
,INFO
。
答案 3 :(得分:0)
可能是(矫枉过正),但取决于。
当您说该软件是为您自己的开发而制作的,然后您将其发布给您的开发人员组时,您实际上是在说该软件最初具有某个功能,现在又具有其他功能。作为主要功能为您服务,次要(和最终功能)为团体/社区服务。
* 如果在您的开发人员组中有代码标准 ,我当然希望有,并且其中一个标准是使用log4j来记录一切,这一切都应该符合标准。 *