我在Windows 11中安装了Tomcat 9,我想知道如何像在Unix (Catalina.out)中那样重定向Catalina.out。我在很多论坛上读到过(体育swallowOutput=“真”),但什么也没成功。
发布于 2022-05-25 09:00:37
您可以在<tomcat-install>/logs/catalina*.log中找到所有的<tomcat-install>/logs/catalina*.log
在<tomcat-install>/conf/logging.properties中控制日志文件文件名
了解更多有关日志管理这里的信息。
具体地说:
控制台 在unixes上运行Tomcat时,控制台输出通常重定向到名为catalina.out的文件。该名称可以使用环境变量进行配置。(请参阅启动脚本)。写入System.err/out的任何内容都将被捕获到该文件中。这可能包括: Java.lang.ThreadGroup.uncaughtException(.)打印的未明异常线程转储,如果您通过系统信号请求它们的话 在Windows上作为服务运行时,控制台输出也会被捕获和重定向,但是文件名是不同的。 Apache中的默认日志记录配置将相同的消息写入控制台和日志文件。当使用Tomcat进行开发时,这是很棒的,但在生产中通常不需要。 仍然使用System.out或System.err的旧应用程序可以通过在上下文中设置swallowOutput属性来欺骗。如果属性设置为true,则将截获在请求处理期间对System.out/err的调用,并使用javax.servlet.ServletContext.log(.)将其输出输入到日志记录子系统。电话。请注意,swallowOutput特性实际上是一个技巧,它有其局限性。它只适用于对System.out/err的直接调用,并且只在请求处理周期内工作。它可能无法在应用程序可能创建的其他线程中工作。它不能用于拦截本身写入系统流的日志记录框架,因为它们很早就开始了,并且可能在重定向发生之前获得对流的直接引用。
https://stackoverflow.com/questions/72373309
复制相似问题