不要在服务器端代码中使用 System.out.println

2022-08-31 16:36:51

我听说用于日志记录是一种非常糟糕的做法,这可能会迫使服务器失败。System.out.println

我不使用这种方法,但我非常想知道为什么System.out.println在后端代码中使用时会成为如此垃圾的东西。


答案 1

System.out.println 是一个 IO 操作,因此非常耗时。在代码中使用它的问题是,您的程序将等到println完成。对于小型网站来说,这可能不是问题,但是一旦您加载或多次迭代,您就会感到痛苦。

更好的方法是使用日志记录框架。它们使用消息队列,并且仅在没有其他输出发生时才写入。

另一个好处是,您可以为不同的目的配置单独的日志文件。您的运维团队会喜欢您的。

在此处阅读更多内容:


答案 2

查看Adam Biens在Java杂志11月版/ Dezember上关于压力测试JEE6应用程序的文章 - 它是免费的在线,你只需要订阅它。

在第43页上,他展示了一个服务器应用程序,当每个服务器应用程序插入一个带有fix String的单个时,每秒处理1700个事务时,它下降到只有800个。System.out.println


推荐