输出控制台信息到日志 并 通过cronolog对tomcat进行日志切分
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进行日志切分的更多相关文章
- MyEclipse配置输出控制台信息至文本文件里
有时会遇到这种情况.输出的信息过多,console控制台显示不全然.这是就须要将输出的信息输出到文本文件里,既能够查看也能够备份. 1.右击须要执行的项目->Run As->Run Con ...
- Linux nohup和&后台运行,进程查看及终止,进程信息输出,控制台信息输出
nohup和&后台运行,进程查看及终止 1.nohup 用途:不挂断地运行命令. 语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输 ...
- 在Mac中像Windows一样查看Tomcat控制台信息
在Windows系统中,通过startup.bat启动Tomcat之后会打开一个控制台,输出日志信息,在系统调试过程中,也会随时输入日志或错误信息,对开发很有帮助. 在Mac中,通过startup.s ...
- Tomcat 修改日志输出配置 定期删除日志
tomcat的下的日志catalina.out 和 qc.log疯狂增长,以下是解决办法 我生产环境tomcat版本 Server version: Apache Tomcat/7.0.35 Serv ...
- 使用cronolog工具给tomcat进行日志切割
关于cronolog的用法查看:https://www.freebsd.org/cgi/man.cgi?query=cronolog&apropos=0&sektion=0&m ...
- 使用log4j2打印Log,log4j不能打印日志信息,log4j2不能打印日志信息,log4j和logj2,idea控制台信息乱码(文末)
说来惭愧,今天就写了个"hello world",了解了一下log4j的日志. 本来是想在控制台打印个log信息,也是遇到坎坷重重,开始也没去了解log4j就来使用,log4j配置 ...
- 【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志
如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动 ...
- .NET Core下的日志(3):如何将日志消息输出到控制台上
当我们利用LoggerFactory创建一个Logger对象并利用它来实现日志记录,这个过程会产生一个日志消息,日志消息的流向取决于注册到LoggerFactory之上的LoggerProvider. ...
- cronolog分割Tomcat catalina.out日志
Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等.tomcat 的 ...
随机推荐
- Go语言之进阶篇请求报文格式分析
1. 请求报文格式分析 示例: package main import ( "fmt" "net" ) func main() { //监听 listener, ...
- scrapy框架系列 (2) 一个简单案例
学习目标 创建一个Scrapy项目 定义提取的结构化数据(Item) 编写爬取网站的 Spider 并提取出结构化数据(Item) 编写 Item Pipelines 来存储提取到的Item(即结构化 ...
- Spring(十八):Spring AOP(二):通知(前置、后置、返回、异常、环绕)
AspectJ支持5种类型的通知注解: @Before:前置通知,在方法执行之前执行: @After:后置通知,在方法执行之后执行: @AfterRunning:返回通知,在方法返回结果之后执行(因此 ...
- 3D打印机切片与控制软件
3D模型必须经由两个软件的处理来完成打印程序:切片与传送.切片软件会将模型细分成可以打印的薄度,然后计算其打印路径.3d打印机客户端软件再把这系列动作传送到硬件,并提供控制其他功能的控制介面.了解您的 ...
- web自适应手机浏览器的宽度
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scal ...
- OpenGL ES 3.0 and libGLESv2
note that libGLESv2 is the recommended Khronos naming convention for the OpenGL ES 3.0 library. This ...
- sourceTree 基础使用
https://www.cnblogs.com/tian-xie/p/6264104.html
- NSProxy
NSProxy类在分布式对象架构中是很重要的.由于作用比较特别,NSProxy在Cocoa程序中出现频率很低. NSProxy 是一个抽象类,它为一些表现的像是其它对象替身或者并不存在的对象定义一套A ...
- C++ 多态的原理
1.多态解决什么问题? 面向抽象编程,用户不需要关心引用或者指针的真实类型,已经内部实现.2.C++ 要具备多态的性质,满足两个条件:表面类型和真实类型不一样,方法是虚方法.3.多态是如何实现的? 实 ...
- Vim的行号、语法显示等设置(.vimrc文件的配置)以及乱码解决
在终端下使用vim进行编辑时,默认情况下,编辑的界面上是没有显示行号.语法高亮度显示.智能缩进 等功能的.为了更好的在vim下进行工作,需要手动设置一个配置文件:.vimrc.在启动vim时,当前用户 ...