windows下tomcat默认并不会把控制台输出的信息都记录进日志文件。但是在生产环境中,出现问题时,控制台的日志输出是无法查据的,因此需要将日志记录下来。

解决方法:

输出日志到文件

修改tomcat的bin目录下的startup.bat文件,执行此项修改后日志会输出到文件中,在控制台中不会再输出

call "%EXECUTABLE%" start %CMD_LINE_ARGS%
换成
call "%EXECUTABLE%" run %CMD_LINE_ARGS%

其中,执行start会重新打开新的cmd窗口运行catalina.bat,并且在新的窗口中打印日志信息,即我们看到的console,修改strat为run,即不弹出新的cmd窗口,直接在本窗口运行。

指定输出日志的文件,在bin目录下的catalina.bat中,在四个%ACTION%后面加上

>>%CATALINA_HOME%\logs\catalina.%DATE%.out

这样,在tomcat启动时,会在logs文件夹下生成  catalina.%%Y-%%m-%%d.out(如catalina.2018-11-11.out)作为日志文件。

按照日期切割日志文件

按照上面步骤生成的日志文件有一个问题,就是日志文件只会生成一次,即tomcat启动时,如果tomcat启动后一直运行的话,该文件会一直追加,只有tomcat重启才会重新生成。文件太大和没有切分,对后期维护的阅读和查找造成不便。

引入cronolog.exe解决该问题:

把cronolog.exe放在tomcat的bin目录下,同时修改bin目录下的catalina.bat文件,在四个%ACTION%后面把之前追加的修改为

|%CATALINA_HOME%\bin\cronolog.exe %CATALINA_HOME%\logs\catalina.%%Y-%%m-%%d.out

这样日志文件就会按照日期进行自动生成了。

输出控制台信息到日志 并 通过cronolog对tomcat进行日志切分的更多相关文章

  1. MyEclipse配置输出控制台信息至文本文件里

    有时会遇到这种情况.输出的信息过多,console控制台显示不全然.这是就须要将输出的信息输出到文本文件里,既能够查看也能够备份. 1.右击须要执行的项目->Run As->Run Con ...

  2. Linux nohup和&后台运行,进程查看及终止,进程信息输出,控制台信息输出

    nohup和&后台运行,进程查看及终止   1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输 ...

  3. 在Mac中像Windows一样查看Tomcat控制台信息

    在Windows系统中,通过startup.bat启动Tomcat之后会打开一个控制台,输出日志信息,在系统调试过程中,也会随时输入日志或错误信息,对开发很有帮助. 在Mac中,通过startup.s ...

  4. Tomcat 修改日志输出配置 定期删除日志

    tomcat的下的日志catalina.out 和 qc.log疯狂增长,以下是解决办法 我生产环境tomcat版本 Server version: Apache Tomcat/7.0.35 Serv ...

  5. 使用cronolog工具给tomcat进行日志切割

    关于cronolog的用法查看:https://www.freebsd.org/cgi/man.cgi?query=cronolog&apropos=0&sektion=0&m ...

  6. 使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)

    说来惭愧,今天就写了个"hello world",了解了一下log4j的日志. 本来是想在控制台打印个log信息,也是遇到坎坷重重,开始也没去了解log4j就来使用,log4j配置 ...

  7. 【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志

    如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动 ...

  8. .NET Core下的日志(3):如何将日志消息输出到控制台上

    当我们利用LoggerFactory创建一个Logger对象并利用它来实现日志记录,这个过程会产生一个日志消息,日志消息的流向取决于注册到LoggerFactory之上的LoggerProvider. ...

  9. cronolog分割Tomcat catalina.out日志

    Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等.tomcat 的 ...

随机推荐

  1. [转]vue Element UI走马灯组件重写

    https://blog.csdn.net/u013750989/article/details/82885482 1.element ui走马灯组件 -- carousel分析一波源代码:carou ...

  2. NodeJS错误-throw er; // Unhandled 'error' event

    第一眼看以为Express版本出现问题,因为本地已经存在另外一个运行的Node项目,端口重复,修改一下端口号即可,错误提示如下: events.js:85 throw er; // Unhandled ...

  3. Cookie常用的优化方式

    我们知道,对于每一个http请求,无论是动态的网页aspx,还是jsp,还是/user/add这种MVC模式的URL,还是CSS或者JS文件,每一个http请求都会带着在硬盘上存有的跟这个域相关存有的 ...

  4. Java-JUC(五):闭锁(CountDownLatch)

    闭锁(CountDownLatch) jdk5.0在java.util.concurrent包中提供了CountDownLatch,它是一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一 ...

  5. VS web.config/app.conifg配置文件自定义类型使用智能感知功能

    大家使用VS编辑web.config或app.config时可以使用智能感知功能的,像下面这样很是方便 当然如果是我们自定义的类型也是可以使用智能感知的,因为智能感知的内容是来自你或其他公司(MS)提 ...

  6. python中read() readline()以及readlines()用法

    [转自:http://www.ibm.com/developerworks/cn/linux/sdk/python/python-5/index.html#N1004E] 我们谈到“文本处理”时,我们 ...

  7. PowerShell获取当前用户的权限

      function Get-CurrentUserRoles {   $SecurityPrinciple = New-Object -TypeName System.Security.Princi ...

  8. 关于 redis 报错 :JsonParseException: Unrecognized token 'xxx': was expecting ('true', 'false' or 'null')

    在使用java  读取redis存储的数据时出现 JsonParseException: Unrecognized token 'xiaoqiang': was expecting ('true', ...

  9. windows下根据进程ID强制杀死进程

    [windows 进程ID PID]NTSD命令详解 1. ntsd -c q -p PID 2. ntsd -c q -pn ImageName 比如:ntsd -c q -pn qq.exe -c ...

  10. Mac 流程图

    https://www.lucidchart.com/pages/signup?utm_expid=39895073-174.qKyHpBEbQS26y86OArD-rQ.1 https://www. ...