如何将 tomcat 控制台日志重定向到文件?Tomcat 通过 windows bat 启动

如何将 tomcat 控制台日志重定向到文件?Tomcat 通过 windows bat 启动

当 Tomcat 作为服务启动时,它会将其输出日志放入:

\logs\stderr.log  
\logs\stdout.log 

当 Tomcat 在 Windows 中以 BAT 形式启动时,如何写入此日志文件?

PS:我尝试使用以下命令启动 Tomcat:

call startup > ../logs/consolelog.log 2<&1

但输出consolelog.log只有 5 行

Using CATALINA_BASE:   "C:\Java\Tomcat 5.0"
Using CATALINA_HOME:   "C:\Java\Tomcat 5.0"
Using CATALINA_TMPDIR: "C:\Java\Tomcat 5.0\temp"
Using JRE_HOME:        "C:\Program Files\Java\jdk1.5.0_22"
Using CLASSPATH:       "C:\Java\Tomcat 5.0\bin\bootstrap.jar"

控制台中有很多输出

答案1

编辑conf/logging.properties并更改此行

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler

那么它将只记录到catalina.<date>.log,而不是控制台。

答案2

对于那些接受的答案不起作用的人:

我遇到了同样的情况,但我使用的是 (liferay -> tomcat) startup.bat,它总是打开 tomcat 控制台。编辑 startup.bat 文件以便将日志输出到文件中的方式如下:

寻找以下行:

call "%EXECUTABLE%" start %CMD_LINE_ARGS% 

并编辑它,使其看起来像这样:

call "%EXECUTABLE%" run >..\logs\outputfile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\outputfile.log 2>&1  

您可以在 tomcat 的日志文件夹中找到输出。文件是 outputfile.log。解决方案是使用我在这一页,链接自本论坛。 祝你好运。

答案3

我没有仔细检查,但我认为您可以以标准 Windows 和 Unix 方式重定向控制台 I/O:

tomcart-start > C:\mylog\log.txt

答案4

据我了解,对于你的情况,我不会使用呼叫启动

尝试:

catalina run > ..\logs\consolelog.all 2>&1

或者

catalina run > ..\logs\consolelog.out 2> ..\logs\consolelog.err

呼叫启动最后调用卡塔利娜开始,这将启动一个新的控制台。另一方面卡塔利娜河在同一个控制台中运行,您可以根据需要重定向 stdout 和 stderr。

相关内容