项目中有两个测试人员,经常需要查看日志定位问题,但是有两个问题:
1.windows下tomcat输出日志跟linux下不一样,linux可以远程连接使用tail命令很轻松就可以看到日志,并且可以随时停止。但windows的日志只输入到控制台,不输出到日志文件。这就使得只有开着控制台才能看得到日志,而且不能ctrl+C停止截取。
2.用远程桌面连接的话,两个测试人员不可能同时看得到控制台,而若使用VNC,RADMIN等软件,又会造成双方操控很混乱。
所以就在想,要是能像linux那样随时查看日志又不用操控控制台就好了。
解决思路:
1.让tomcat日志输出到文件。这个明显可以实现的。
2.找个软件能够连接windows,并且使用命令动态查看日志文件,比如tail。其实linux中的大多数命令windows也都有,只不过被界面封装了,现在linux的广大爱好者早就研发出了将windows命令转为了相应的linux命令的软件,所以也不成问题。
下面就开始寻找解决方法了:
1.让tomcat日志输出到文件
一般启动tomcat时都用startup.bat,但又有多少人真正研究过这个bat文件中到底暗藏什么玄机呢?我们来看一下这个bat文件。它使用call "%EXECUTABLE%" start %CMD_LINE_ARGS%这句话来调用catalina.bat启动。这句话执行的命令就相当于控制台输入catalina.bat start。怎么样,是不是跟linux很像啦,不过这个start是会在新窗口中启动catalina.bat,并将日志文件输出到新窗口中,这显然不是我们要的效果。我们将它改成call "%EXECUTABLE%" run %CMD_LINE_ARGS%。这样控制台就不会输出日志文件了,让catalina.bat去决定日志输出在哪里吧。
那再来看一下catalina.bat。这里我就直接引用网上的方法了:寻找以%ACTION%结尾的四处,在后面加上
>> %CATALINA_BASE%\logs\detailLog.%DATE:~0,10%.log
detailLog是我自己起的名字,大家可以随意更改,但是注意不要与默认日志文件冲突,否则启动会报个错,尽管无关紧要。那%DATE:~0,10%是用来截取系统时间的。在我的服务器上echo %DATE%,显示出的是“2013-04-02 星期二”,截取0-10位,也就是“2013-04-02”,所以今天产生的log文件名字应该是
detailLog.2013-04-02.log
这样再去双击startup.bat,就会发现控制台启动后不再输出日志文件。再去查看detailLog.2013-04-02.log,会发现日志都在里面。
那下面的工作,就是如何简单的将日志文件显示出来了。
2.动态查询windows日志文件
我们都喜欢用tail命令,那就去找个windows中的tail命令。
先下载一个UnxUtils,将它放在某个找得到的位置,解压,找到..\UnxUtils\usr\local\wbin目录,看到了吧,我们熟悉的linux命令都在里面了。将这个路径加到服务器系统环境变量PATH中,再打开cmd,输入tail --help,显示出帮助信息,好了,可以使用了。注意,远程桌面连接的童鞋,可能要在每一个用户那里都重新保存一下环境变量,否则其他用户会不认识这个命令哦。
这样的话,在cmd中输入tail logs\detailLog.2013-04-02.log,就跟linux效果一样啦。
我还是觉得不方便,每次都要输入一下,那何不写个bat文件呢?
桌面上新建记事本,
@echo off
tail -f E:\apache-tomcat-6.0.24-2\logs\detailLog.%DATE:~0,10%.log
保存为log.bat文件。直接双击搞定!
相关推荐
"win系统下的tomcat日志按日期切割工具"指的是在Windows环境下对Tomcat日志进行自动切割的解决方案。通常,Linux系统中有一个名为`logrotate`的工具用于此目的,但在Windows上,我们可以使用类似功能的`cronolog`...
### Windows下Tomcat的日志按天自动分割方法详解 #### 一、背景介绍 在部署Java Web应用时,经常使用Apache Tomcat作为Web服务器。随着应用程序的运行,Tomcat会生成大量的日志文件,其中最重要的是`catalina.out`...
**Windows环境下Tomcat 8.5的安装与配置** Tomcat是Apache软件基金会的一个开源项目,作为Java Servlet和JavaServer Pages(JSP)的Web应用服务器,被广泛应用于开发和部署Java应用程序。在这个主题中,我们将专注...
- 使用`startup.bat`命令启动Tomcat,服务器会在控制台输出相关信息,成功启动后,可以在浏览器访问`http://localhost:8080`查看默认的欢迎页面。 - 使用`shutdown.bat`命令关闭Tomcat服务。 6. **部署应用程序**...
- `conf/logging.properties`: 配置日志记录级别和输出位置。 为了确保安全性和性能,你应该考虑以下最佳实践: - 配置一个非管理员用户账户运行Tomcat服务,降低被攻击的风险。 - 修改默认的管理界面端口和用户名...
《深入理解Tomcat日志分割》 在Java Web开发中,Tomcat作为一款广泛应用的开源Servlet容器,其日志管理是运维和开发者关注的重要部分。本文将深入探讨Tomcat的日志系统,特别是日志分割这一关键特性,帮助你更好地...
本文将详细介绍如何在Linux环境下通过cronolog工具实现Tomcat日志的自动分割。 #### 一、为什么需要分割Tomcat日志? 随着应用程序的运行时间增加,Tomcat的日志文件(通常为`catalina.out`)会不断增大,这不仅会...
Tomcat的日志文件位于`logs`目录下,包括`catalina.out`和其他日期命名的日志文件。通过`logging.properties`文件可以配置日志级别和输出位置。 8. **安全管理**: 安装并配置`manager`和`host-manager`应用,...
- **日志管理**:通过配置`conf/logging.properties`来定制日志输出。 **6. 安全性** Tomcat的安全性非常重要,可以通过以下方式加强: - 设置用户和角色,限制对管理界面的访问。 - 使用SSL/TLS加密通信,保护敏感...
当Tomcat以服务方式运行时,日志通常不会输出到命令行窗口,而是写入到`logs`目录下的文件中。配置`logging.properties`文件可以自定义日志输出。 7. **监控和管理**: 另外,可以通过Tomcat的管理页面(默认在`...
- 启动服务:可以通过bin目录下的startup.bat脚本启动Tomcat,或者将其作为Windows服务安装,使用service.bat install命令。 4. **配置Tomcat**: - 修改conf/server.xml配置文件可以设置端口号、线程池大小、...
总结来说,查看Tomcat服务器的控制台输出,主要可以通过终端实时查看、使用`tail`命令、修改`startup.bat`文件改变日志输出位置和使用外部工具等几种方法。这些方法各有优势,可以根据实际情况选择适合的查看方式。...
总结起来,Linux下的Tomcat 6部署涉及下载、解压、环境配置、启动与停止、配置、安全管理、日志管理、性能优化、应用部署、监控以及故障排查等多个方面。理解这些知识点,将有助于你有效地管理和维护你的Java Web...
- Tomcat运行时,相关日志文件会生成在`logs`目录下,如`catalina.out`记录了服务器的常规输出。 - `status`命令可以通过HTTP接口检查Tomcat的状态,需在`webapps/manager/META-INF/context.xml`中启用。 6. **...
3. **监控Tomcat**:`bin/catalina.sh`或`catalina.bat`脚本也可以以“监控”模式运行,通过`jps`命令可以查看Tomcat进程,而`jstat`和`jconsole`等JVM工具可以分析Tomcat的内存使用、线程状态和GC行为。 4. **配置...
`bin`目录下有用于启动和停止Tomcat的服务脚本,如`startup.sh`(Unix/Linux)和`startup.bat`(Windows)。`conf`目录包含了配置文件,如`server.xml`、`web.xml`等。 2. **配置文件**:`server.xml`是核心配置...
开发者通常会使用`catalina.sh run`或`catalina.bat run`命令以调试模式运行服务器,以便于查看输出信息。 **监控与性能优化:** Tomcat提供了一个名为Manager的应用,允许管理员通过Web界面管理应用程序的部署、...
3. 日志配置:修改`conf/logging.properties`来定制日志输出。 4. 配置Context:在`conf/Catalina/localhost/`下创建XML文件,定义应用程序的特定配置。 **九、安全注意事项** 确保你的Tomcat安装是安全的,遵循...
- Tomcat的日志输出默认在`logs`目录下,包括`catalina.out`,`host-manager`, `manager`, `localhost_access_log.*`等文件。 - 可通过修改`conf/logging.properties`来调整日志级别和输出位置。 5. **安全管理**...
还可以利用`catalina.sh run`命令以非守护进程模式启动Tomcat,方便在终端中查看实时输出,帮助定位问题。 总的来说,Apache Tomcat7在Linux上的部署和管理是一个涉及多方面知识的过程,需要理解操作系统、网络、...