【问题标题】:java webapp println statements shows up on tomcat console but not in the log filesjava webapp println 语句显示在 tomcat 控制台上,但不在日志文件中
【发布时间】:2015-08-27 17:04:14
【问题描述】:

当我在独立的 tomcat 服务器上部署我的 war 文件并使用 startup.bat 脚本启动 tomcat 时,我所有的 System.out.println 都会显示在 tomcat 控制台上,因为有很多信息,它们会快速刷新而我无法阅读他们。

我在任何 tomcat 日志文件中都没有看到这些语句。有没有办法让它们打印在日志文件中(当tomcat控制台也打开时)?看起来所有这些信息都打印在 tomcat 上,并且永远不会进入日志文件。

【问题讨论】:

标签: java tomcat logging


【解决方案1】:

System.out.println 不是一个好主意。您的经验是正确的:这些记录被写入控制台。如果您无权访问服务器,这将无济于事。

更好的解决方案是使用 log4j 或其继任者 slf4j。

我想知道this 是否可以成为您的解决方案。

【讨论】:

  • 这个调试在哪里? System.setProperty("javax.net.debug","all");
  • 你告诉它的地方。您可以在 log4j 中设置滚动日志文件附加器;警告、信息、错误和调试级别被写入该文件。
  • 它们会转到属性文件中配置的日志附加程序,该文件可能是文件、控制台或数据库。选择权在您手中,您可以控制哪些类将被哪些附加程序以及在什么级别捕获。
  • 您不使用系统属性来完成此操作。人们通常不会接触部署和运行他们的东西的应用服务器。
  • 我建议使用 log4j.properties,或者更现代的 Java 配置路径
猜你喜欢
  • 1970-01-01
  • 2014-12-09
  • 1970-01-01
  • 2015-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-20
相关资源
最近更新 更多