2011-09-03 23 views
4

我在Eclipse中运行Tomcat。仅在开发过程中使用System.out.println以查看Eclipse控制台上的某些输出以进行测试是否有任何伤害?我知道我听说这是不好的做法,但我不记得原因。我不需要像log4j这样的应用程序。Tomcat和Eclipse中的System.out.println

回答

1

我不会叫log4j特别复杂。特别是在Tomcat中使用它的信息很多,在开发过程中以及在实际部署代码后使用相同的日志记录基础结构很有用。

在使用方面System.out.println - 我怀疑它会造成任何真正的重大伤害,但我不希望在Tomcat中使用System.out的输出效率作为登录log4j的努力。它也不那么灵活 - 您最终可能最终在代码中添加和删除日志记录,因为您无法通过配置轻松完成该操作。换句话说,尽管使用System.out.println可能并不算太坏,但我认为使用更灵活的日志记录解决方案(无论是log4j还是其他)需要投入相对较少的时间是值得的。这是一种持续的好处。

+0

我不希望为此应用程序使用日志记录基础结构的原因之一是它将部署在Elastic Beanstalk上,该Elastic Beanstalk在多个实例上运行该应用程序。我的日志记录最终可能会在Amazon RDS中的表中结束:) – stepanian

+0

@Ralph:这并不意味着您不应该使用任何日志记录基础结构 - 这意味着您应该使用一些支持Elastic Beanstalk的日志记录。最终,您仍然不希望在开发和部署之间更改*代码*,以考虑日志记录的更改 - 您只需重新配置它即可写入最合适的位置。 –

+0

非常感谢。顺便说一句,我拥有你的书。 – stepanian

1

不,您可以使用它。请注意,有时Eclipse浏览器与外部浏览器不同,并且System.out.println打印不同(主要涉及路径)。 只是不使用Eclispe浏览器

1

除了遗忘和遗忘的非常简单的可能性之外,我没有看到任何伤害。因此最终不必要地留下日志文件冗长。至少,可能使用System.err而不是out,这样可以保持正常的输出清洁。

+0

实际上,出于某种原因,在Eclipse和Tomcat的默认配置中,所有Tomcat消息由于某种原因被重定向到System.err并以红色显示。 System.out脱颖而出,因为它是黑色的! – stepanian

1

日志框架具有日志记录级别,可以将日志消息重定向到适当的日志,结构化日志记录,再加上你可以整齐地格式化日志等。使用System.out.println简单转储它在控制台上,所以如果你的应用程序日志跟踪消息以及开发过程中出现的错误,您可能会将整个控制台填满,从字面上看,它无法使用。

如果您正在进行认真的应用程序开发,则应在开发过程中使用日志记录框架。并且让我感受到我的想法,但是GIYF

+0

我正在使用的应用程序将在多个服务器实例上的Elastic Beanstalk上运行。我最终实现的日志记录系统必须写入Amazon RDS等云数据库。 – stepanian

+0

我的不好!刚刚袭击了我为什么你要使用控制台进行日志记录。就我个人而言,我从来没有在云上配置日志,但我认为这[link](http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/index.html?using-features.loggingS3.title.html)演示如何使用Beanstalk配置日志框架。就开发而言,我仍然认为使用日志框架非常合适,特别是用于日志重定向和可跟踪性。 –

+0

我同意。我之前使用过java.util.logging,这是Amazon在beanstalk实例上使用的。但是每个实例的日志都是分开的。 – stepanian