如何查看tomcat的控制台输出的方法

2018-04-11 17:58:24 5466

如何查看tomcat的控制台输出的方法


在web项目调试期间,时常需要查看输出的调试信息,例如当Hibernate设置为显示SQL语句时,每次运行的SQL语句会输出到终端,另外有时需要在代码中插入一些输出语句,以方便掌握运行情况,但当插入System.out.println(....)这样的控制台输出语句时,在终端是不能直接看到的。


在tomcat中,默认将终端输出信息输出到

$CATALINA_HOME/logs/catalina.out

其中$CATALINA_HOME是tomcat的安装目录。

tomcat启动后,该文件每秒都会更新一次,并且像其中输入日志信息,所以如果用直接打开的方式查看文件内容,由于文件在不断刷新,往往难以实现。我们希望查看到动态的日志内容,有两种方式:


1.方式一


进入tomcat安装路径的bin目录中,运行sh catalina.sh run命令,将在终端动态显示catalina.out的内容


2.方式二


进入上述的安装目录下的logs目录中,执行如下命令

tail -f catalina.out

Tomcat控制台日志输出到文件的方法

startup.bat中修改

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

call "%EXECUTABLE%" run %CMD_LINE_ARGS%  (>> ..\logs\detailLog.%DATE:~0,10%.log )  

这样控制台就不会输出日志文件了,让catalina.bat去决定日志输出在哪里吧


在catalina.bat中寻找以%ACTION%结尾的四处,每处%ACTION%后面添加  >> ..\logs\detailLog.%DATE:~0,10%.log 

detailLog是我自己起的名字,大家可以随意更改,但是注意不要与默认日志文件冲突,否则启动会报个错。那%DATE:~0,10%是用来截取系统时间的(这里应该注意系统生成的时间格式问题,如果是2013/04/02则会出错,请确保系统时间格式)。在我的服务器上echo %DATE%,显示出的是“2013-04-02 星期二”,截取0-10位,也就是“2013-04-02”,所以今天产生的log文件名字应该是 detailLog.2013-04-02.log

这样再去双击startup.bat,就会发现控制台启动后不再输出日志文件。再去查看detailLog.2013-04-02.log,会发现日志都在里面。那下面的工作,就是如何简单的将日志文件显示出来了。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: