我们使用tomcat开发的时候,一般是在windows平台下.有时控制台中输出的调试和测试信息很多,
由于屏幕的滚动,不能及时看清和分析输出的信息.那么,有没有简单的方法来获取这些信息呢?
按照习惯,先在google上搜索了一下,没有发现有价值的信息,就只能自己想办法了.
在linux下,tomcat的控制台输出被自动重定向输出到logs目录下的catalina.out文件中.分析一下
文件catalina.sh发现如下的片断.
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
原来在linux下执行的时候,在执行参数的最后加入了重定向设置.
在windows下,同样也有命令管道的重定向机制,于是就在catalina.bat中找到了相应的执行行(179行)
将
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION%
改为
%_EXECJAVA% %JAVA_OPTS% %CATALINA_OPTS% %DEBUG_OPTS% -Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%" -classpath "%CLASSPATH%" -Dcatalina.base="%CATALINA_BASE%" -Dcatalina.home="%CATALINA_HOME%" -Djava.io.tmpdir="%CATALINA_TMPDIR%" %MAINCLASS% %CMD_LINE_ARGS% %ACTION% >>"%CATALINA_BASE%"\logs\catalina.txt
然后点击startup.bat启动Tomcat,在logs下虽然生成了catalina.txt,但始终是0k大小,没有任何的内容. 这是怎么回事呢?
经过进一步分析发现,执行startup的时候,重新打开了一个windows窗口,这种情况下,有可能造成重定向的失败.这和linux下是不同的.单独执行一下catalina.bat发现如下的提示:
Using CATALINA_BASE: D:\jakarta-tomcat-5.0.25
Using CATALINA_HOME: D:\jakarta-tomcat-5.0.25
Using CATALINA_TMPDIR: D:\jakarta-tomcat-5.0.25\temp
Using JAVA_HOME: C:\Borland\JBuilder2005\jdk1.4
Usage: catalina ( commands ... )
commands:
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina
version What version of tomcat are you running?
于是修改catalina.bat第42行
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
为
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
然后在此启动tomcat,再次查看catalina.txt,预期的信息果然如约而至!
其实更简单的更改方法是:直接修改catalina.bat的第42行为
call "%EXECUTABLE%" run %CMD_LINE_ARGS% >> ..\logs\catalina.txt
当不需要的时候直接把..\logs\catalina.txt去掉就可以了,改起来很方便快捷. 呵呵,看样子有时候自己动一下脑筋,还是比直接从google获得答案更有乐趣!
注:
很管用,就是由于tomcat版本问题,现在已经不是179行了,同时42行的内容也到了startup.bat里边了,不过还是非常感谢!
转http://cyrilshi.blog.163.com/blog/static/192585920085511746128/
分享到:
相关推荐
在使用Apache Tomcat服务器时,有时我们可能会遇到控制台输出的错误信息不够详细,这给问题定位带来困难。为了帮助开发者更好地理解并解决这些问题,我们可以调整Tomcat的配置,使其输出更详细的错误日志。本篇文章...
例如当Hibernate设置为显示SQL语句时,每次运行的SQL语句会输出到终端,另外有时需要在代码中插入一些输出语句,以方便掌握运行情况,但当插入System.out.println(….)这样的控制台输出语句时,在终端是不能直接看到...
在使用IntelliJ IDEA(简称Idea)开发Java Web项目并使用Tomcat作为应用服务器时,有时会遇到控制台输出乱码的问题。这主要是因为字符编码设置不正确导致的。以下是一些解决Idea启动Tomcat项目时控制台乱码问题的...
本篇将详细讲解如何解决Tomcat控制台中文乱码的问题。 首先,我们需要理解乱码产生的原因。通常,控制台乱码是由于字符编码不匹配导致的。Java默认使用的是UTF-8编码,而系统控制台可能使用的是其他编码,如GBK。当...
**Windows环境下Tomcat 8.5的安装与配置** Tomcat是Apache软件基金会的一个开源项目,作为Java Servlet和JavaServer Pages(JSP)的Web应用服务器,被广泛应用于开发和部署Java应用程序。在这个主题中,我们将专注...
如果一切顺利,Tomcat将在控制台输出相关信息,并开始监听8080端口。 **6. 访问Tomcat管理页面** 在浏览器中输入 `http://localhost:8080`,你应该能看到Tomcat的欢迎页面。此外,还可以访问管理页面(如 `...
- 使用`startup.bat`命令启动Tomcat,服务器会在控制台输出相关信息,成功启动后,可以在浏览器访问`http://localhost:8080`查看默认的欢迎页面。 - 使用`shutdown.bat`命令关闭Tomcat服务。 6. **部署应用程序**...
在IT行业中,开发人员经常会遇到大量的日志输出,这对于调试和理解程序运行状态至关重要。IntelliJ IDEA,作为一款强大的Java开发IDE,提供了丰富的功能来帮助开发者管理这些日志。"idea 控制台log日志颜色修改"这个...
修改windows的cmd代码页值,gb2312和utf8切换 windows11下的tomcat控制台输出已改为utf8,默认打开是乱码,将这个脚本调用插入启动脚本前面即可解决。
- **调整内存设置**:在`bin`目录下的`catalina.bat`(Windows)或`catalina.sh`(Linux/Mac)中,设置JVM的内存参数以优化性能。 - **日志管理**:通过配置`conf/logging.properties`来定制日志输出。 **6. 安全性...
这种乱码问题会影响开发者对控制台输出信息的理解,尤其是当处理含有非ASCII字符的文本时更为显著。 描述中提到的设置UTF-8编码方法,即解决IDEA控制台乱码问题的具体操作步骤。这通常涉及到对IDEA和Tomcat服务器的...
在本文中,我们将深入探讨Tomcat的功能、配置以及如何在Windows环境下安装和使用它。 1. **Tomcat简介** - **功能**:Tomcat主要作为Servlet容器运行,用于处理Java Web应用程序。它也支持JSP和Java EL...
在实际项目开发过程中,经常会遇到Tomcat在Windows或Windows Server系统下启动时出现乱码的问题,尤其是在不通过开发工具直接启动时,或者将Tomcat注册为系统服务后启动时更为常见。本文将详细介绍如何解决这些问题...
在IT领域,尤其是在软件开发与部署的过程中,正确...如果一切正常,你应该能够在控制台看到输出的信息:“This is a test program.”,这表明你的Java和Tomcat环境已经准备就绪,可以开始进行Java Web应用的开发了。
同时,了解如何管理Tomcat的内存配置(通过设置`JAVA_OPTS`环境变量或者修改`catalina.bat`/`catalina.sh`),以及如何通过控制台或管理工具(如Apache Tomcat Manager)来部署和管理Web应用程序,都是十分重要的...
1. 将`log4j.properties`文件放置在Tomcat的`conf`目录下,以便于Tomcat启动时自动加载。 2. 如果Tomcat中已经包含了其他日志库,可能需要将Log4j的JAR文件(如`log4j.jar`)添加到`lib`目录,以确保优先使用Log4j。...
3. 然而,每次启动Tomcat时,都会弹出一个DOS命令行窗口,显示Tomcat的控制台输出。虽然这对于调试很有用,但在日常运行中可能并不需要,而且可能被用户意外关闭,导致服务中断。 4. 为了实现Tomcat的开机后台启动...
如果一切正常,NetBeans会在控制台输出启动信息,同时可以在浏览器中访问`http://localhost:8080`,看到Tomcat的欢迎页面。 6. **创建和部署Web项目**:在NetBeans中,你可以新建一个Java Web项目。在项目属性中,...