Tomcat网络应用服务器中的“ catalina.out”和“ catalina.YYYY-MM-DD.log”日志文件有什么区别?

时间:2018-08-23 12:35:29

标签: tomcat logging catalina catalina.out

在tomcat服务器中,logs文件夹包含此类文件

  • localhost.YYYY-MM-DD.log :主机的日志
  • host-manager.YYYY-MM-DD.log manager.YYYY-MM-DD.log :相关Web应用程序的日志
  • catalina.YYYY-MM-DD.log::容器日志文件
  • catalina.out :??

除了“ catalina.out”以外,我对所有日志文件都有了解。我在文档中寻找解释,但找不到“ catalina.out”和“ catalina.YYYY-MM-DD.log”之间的区别。当我浏览内容时,两者似乎相似。有人可以帮我区分他们吗?

注意:原因是我正在研究这是我的生产服务器,因此“ catalina.out”文件变得越来越大(现在大约12 GB)。这可能随时使我的应用程序崩溃,因为在“ catalina.out”超过2gb(作为Tomcat参考)之后,tomcat无法保证应用程序崩溃。剩余的选项是使用Logrotate之类的第三方工具旋转“ catalina.out”或清理“ catalina.out”。 我正在将sl4j与log4j用作日志记录工具包。

3 个答案:

答案 0 :(得分:1)

根据 tomcat documentation catalina.out 包含所有输出到 System.err/out(通常是控制台日志)

所有其他日志记录由应用程序完成(默认情况下,使用 juli 框架,但 log4j 也很流行)。 请参阅上面链接中的配置文件示例 - 它包含日志文件名前缀,如 catalina.log。本地主机。经理。 - 这是catalina.log的来源
另请参阅 here 以了解可能的日志记录和日志轮换参数。 (可能证明有用)

这意味着:应用程序日志记录和日志轮换由日志记录框架(juli、log4j ..)和所有逃避它的东西(tomcat 启动/关闭、未捕获的异常、记录到处理程序和控制台)转到 catalina.out
由于控制台在 tomcat 及其所有记录器的“上方”,因此无法在 tomcat 内部旋转 catalina.out。

答案 1 :(得分:0)

private static final Logger log = LoggerFactory.getLogger(Foo.class);
...
log.info("This line will go to Catalina.YYYY-MM-DD.log");
System.out.println("This line will go to Catalina.out");

答案 2 :(得分:-1)

catalina.out 在安装并启动tomcat实例时启动。从开始到永远都有日志。

catalina.YYYY-MM-DD.log 该日志与catalina.out中的日志相同,但分为每日日志。

您可以定期删除catalina.out日志,您的每日日志文件中将拥有相同的日志。