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. secureCRT在Windows上面的安装过程

    参考这篇文章: https://www.cnblogs.com/yjd_hycf_space/p/7729796.html

  2. json schema校验

    工作中使用到了json schema格式校验的问题,在网上查了些资料,结合自己的理解记录一下. json schema可以对json结果字符串做出一些约束,例如: 1. 值类型是:array, obj ...

  3. 在ASP.NET中支持断点续传下载大文件

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag        客户端每次提交下 ...

  4. 在Web应用程序中执行计划任务(多线程)

    在业务复杂的应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份或同步数据库,定时发送电子邮件等,我们称之为计划任务.实现计划任务的方法也有很多,可以采用SQ ...

  5. Android WindowManager实现悬浮窗效果 (一)——与当前Activity绑定

    最近有学生做毕业设计,想使用悬浮窗这种效果,其实很简单,我们可以通过系统服务WindowManager来实现此功能,本章我们来试验一下在当前Activity之上创建一个悬浮的view. 第一步:认识W ...

  6. CentOS7.1 Liberty云平台之环境准备(2)

    一.各节点配置Openstack源库 yum install centos-release-openstack-liberty -y 升级YUM源库 yum upgrade 安装Openstackcl ...

  7. MonoDB的数据准备

      首先是数据的录入,为了分析我们服务器集群的性能,需要准备大量的用户数据,幸运的是mtools提供了mgenerate方法供我们使用.他可以根据一个数据模版向 MongoDB 中插入任意条 json ...

  8. Modbus常用功能码协议详解

    Modbus常用功能码协议详解 01H-读线圈状态 1)描述:读从机线圈寄存器,位操作,可读单个或者多个: 2)发送指令: 假设从机地址位0x01,寄存器开始地址0x0023,寄存器结束抵制0x003 ...

  9. ASP入门(九)-Request对象小案例

    我们将制作一个能够记住访问者姓名的页面,在这个小案例中,你将学会如何使用Request对象的Cookies.Form以及ServerVariables集合的值,还可以学习到如何使用Response对象 ...

  10. Angularjs 中的 controller

    接触过程序开发的小伙伴们对 MVC 的开发方式想必一点也不陌生,是的, angularjs 所採用的方式便是 MVVM 的开发方式,这里的 controller 即控制器 了解 controller ...