Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
‘;catalina.out’;和‘;catalina.YYYY-MM-DD.log’;tomcat webapp服务器中的日志文件?_Tomcat_Logging_Catalina_Catalina.out - Fatal编程技术网

‘;catalina.out’;和‘;catalina.YYYY-MM-DD.log’;tomcat webapp服务器中的日志文件?

‘;catalina.out’;和‘;catalina.YYYY-MM-DD.log’;tomcat webapp服务器中的日志文件?,tomcat,logging,catalina,catalina.out,Tomcat,Logging,Catalina,Catalina.out,在tomcat服务器中,logs文件夹包含如下文件 localhost.YYYY-MM-DD.log:主机的日志 主机管理器.YYYY-MM-DD.log和管理器.yyy-MM-DD.log:相关web应用程序的日志 catalina.YYYY-MM-DD.log::容器日志文件 卡塔琳娜出局: 我了解除“catalina.out”之外的所有日志文件。我在文档中寻找解释,但找不到“catalina.out”和“catalina.YYYY-MM-DD.log”之间的区别。当我浏览内容时,两者似

在tomcat服务器中,logs文件夹包含如下文件

  • localhost.YYYY-MM-DD.log:主机的日志
  • 主机管理器.YYYY-MM-DD.log管理器.yyy-MM-DD.log:相关web应用程序的日志
  • catalina.YYYY-MM-DD.log::容器日志文件
  • 卡塔琳娜出局:
我了解除“catalina.out”之外的所有日志文件。我在文档中寻找解释,但找不到“catalina.out”和“catalina.YYYY-MM-DD.log”之间的区别。当我浏览内容时,两者似乎相似。有人能帮我区分一下吗

注意:我之所以深入研究这个问题,是因为我的产品服务器,“catalina.out”文件变得越来越大(现在大约为12GB)。这可能会使我的应用程序随时崩溃,因为tomcat不保证在“catalina.out”超过2gb(作为tomcat参考)后应用程序崩溃。剩下的选项是使用第三方工具(如Logrotate)旋转“catalina.out”或清理“catalina.out”。 我正在使用sl4j和log4j作为日志工具包。

根据tomcat
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");
catalina.out包含所有到System.err/out的输出(通常是控制台日志)

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

这意味着:应用程序日志记录和日志循环由日志框架(juli,log4j..)管理,所有逃避它的操作(tomcat启动/关闭、未捕获的异常、对处理程序和控制台进行的日志记录)都会转到catalina.out

由于控制台位于tomcat及其所有记录器的“上方”,因此无法在tomcat内部旋转catalina.out。

似乎System.out和System.err被重定向到catalina.out。不是所有的日志。catalina.out用于存储控制台输出。catalina.out是当前日志。catalina.yyy-mm-dd.log是前面的/旋转的日志,因为我看到它们都包含类似的内容。Catalina.out包含日志中的几乎所有内容,包括更多内容。发布配置文件、配置文件中log4j的tomcat版本以及通常位于webapp类路径根目录中的应用程序配置log4j可能会很有用。其中一个可能配置有一个appender,将东西放入catalina.out,而不是旋转的appender。如果这是输出这么多的原因,您也可以考虑减少日志记录级别。