windows下tomcat控制台按天输出catalina.out日志

这篇具有很好参考价值的文章主要介绍了windows下tomcat控制台按天输出catalina.out日志。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

windows服务器情况下,无法和linux服务器一样,启动web服务之后,直接tail查看日志,而windwos控制台的输出空间有限,如果遇到大量错误的情况下,console日志刷新太快,无法看到首次错误是在哪里出现的,会产生很多不必要的麻烦,所以从网上查找了windows控制台信息输出到文件的方法,记录一下。

catalina.日期.log
1、主要是记录tomcat启动时候的信息;
2、启动的JVM参数以及操作系统等日志信息;
3、没有使用log4j等日志机制,系统的的错误信息与打印语句也在这个日志文件中记录;
4、在linux环境下所有的日志都在catalina.out中。
5、在windows环境下,这个catalina.out里面的内容就是空的。日志只会体现在控制台打印

方法一(控制台窗口只有少量的信息,运行日志储存于catalina-日志中)

步骤1:打开bin下面的startup.bat文件,

把 call "%EXECUTABLE%" start %CMD_LINE_ARGS%
改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS%
此修改:不会弹出新的cmd窗口,直接在本窗口运行

步骤2:打开bin下面的catalina.bat文件(文件末尾),
在每个%ACTION%后面添加

>> %CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out

生成的日志如下
windows下tomcat控制台按天输出catalina.out日志,windows,tomcat,java
双击startup.bat文件,启动tomcat服务。

结果:
控制台不会打印运行日志(只有少量的信息),运行日志(包括一些错误信息)会存在./log目录下的日志文件中,只能在文件里面看了。不利于维护人员直接判断项目是否启动成功。

方法二(控制台窗口中没有内容,运行日志储存于catalina-日志中)

步骤:打开bin下面的startup.bat文件,

把 call "%EXECUTABLE%" start %CMD_LINE_ARGS%
直接改为 call "%EXECUTABLE%" run %CMD_LINE_ARGS% >>%CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out 2>&1

其中将start修改为run是修改tomcat的启动方式。在>>之后加的是在tomcat安装目录下的logs文件夹中生成catalina.年-月-日.out的日志存储文件。

修改完成后双击startup.bat启动tomcat服务器会发现命令窗口中没有内容,这样就对了。
windows下tomcat控制台按天输出catalina.out日志,windows,tomcat,java
生成的日志如下
windows下tomcat控制台按天输出catalina.out日志,windows,tomcat,java

由于配置 run 启动方式,导致catalina.bat文件的窗口名称配置已失效
只能去startup.bat文件里面重新配置
windows下tomcat控制台按天输出catalina.out日志,windows,tomcat,java

结果:
命令窗口中直接什么内容都没有了,同样不利于维护人员直接判断项目是否启动成功,只能查看日志文件了解是否启动成功。

方法三(即能控制台打印,又有日志存储)

通过以上两种方法得知,windows下的startup.bat 方式改为 run 以后
控制台是没有办法再输出内容的,只能去生成的日志文件里面判断项目的启动情况,
要么控制台打印,没有日志存储;
要么日志存储;没有控制台打印;
两者不能同时都有,让人很无语。

有不有什么办法去实现呢?最后终于找到了,要通过tee.exe 去实现这个效果

在http://sourceforge.net/projects/unxutils/?source=dlp 下载UnxUtils.zip,
windows下tomcat控制台按天输出catalina.out日志,windows,tomcat,java
解压后把UnxUtils\usr\local\wbin下的tee.exe 复制到windows\system32 里面即可

打开bin下面的startup.bat文件,
在末尾加上 chcp 65001 且修改 call “%EXECUTABLE%” start %CMD_LINE_ARGS%
如下:

chcp 65001

call "%EXECUTABLE%" run %CMD_LINE_ARGS% 2>&1 | tee %CATALINA_HOME%\logs\catalina.%Date:~0,0%%Date:~3,4%-%Date:~8,2%-%Date:~11,2%.out

如果执行不成功的话,可能是cmd下无法执行chcp命令
出现这种报错(chcp不是内部或外部命令,也不是可运行的程序),就需要去配置环境变量

在系统变量PATH下添加路径C:\WINDOWS\system32(最好去复制电脑上面的路径,直接复制这里,可能有符号转义)
我这边环境为Windows10下的截图
windows下tomcat控制台按天输出catalina.out日志,windows,tomcat,java
如果是Windows xp 或者 Windows 7 的话,记得前面加个;(如果原来有了的话,就不要加了)
完整的为
;C:\WINDOWS\system32

该处的配置可能需要重启电脑才会生效(重启我自己没有操作,可能我之前就配置过了这个变量)

最后,我是实现了既可以日志存储;又可以控制台打印

相关链接
https://blog.csdn.net/weixin_42250959/article/details/103474660
https://www.cnblogs.com/dannylinux/p/10873993.html
https://www.jianshu.com/p/22202f4268af
标题改为中文后标题乱码问题:
https://blog.csdn.net/lixingecho/article/details/115945423
windwos下保存tomcat日志,同时控制台输出
https://blog.csdn.net/itlijinpeng/article/details/129142114文章来源地址https://www.toymoban.com/news/detail-743845.html

到了这里,关于windows下tomcat控制台按天输出catalina.out日志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于Tomcat控制台输出乱码的若干问题

    ​ 在学习Maven、Tomcat的过程中,发现会在不同的地方出现中文乱码,原本以为是某个设置没有正确,所以,出现乱码。后来发现,需要在不同的地方来进行调整,才能保证Tomcat在控制台的输出,以及Maven过程在参数传递过程中都不会出现乱码。第一次写文章,不怎么会写,大

    2024年02月09日
    浏览(64)
  • Windows10环境下的Eclipse控制台输出中文乱码的问题的解决

    操作系统:Windows10中文版 IDE:Eclipse 2022-12 开发语言:Java JDK19 项目编码:UTF-8 写了一个很简单地main方法,打印出中文,结果出现了乱码的情形,如下图: 上网搜索了很多解决方式,大部分都是说要更改项目的字符编码集。如下图: 按照网上的说法将项目的编码字符集由UT

    2024年02月02日
    浏览(70)
  • 控制台输出vue实例

    控制台输出vue实例的两种方法: 在这里我想介绍一下在控制台输出vue实例的两种方法,我觉得其中一种不管是vue框架还是其他框架都是适用的, 我就不说是哪种方法了 大家都可以试一遍: 1、前后端分离的项目中,如果挂载的id名是app,我们可以在控制台中这么打印获取: 2、

    2024年02月10日
    浏览(77)
  • 解决idea启动tomcat控制台中文乱码

    如图这种情况,一般在idea用tomcat跑一个web项目启动后tomcat日志在控制台打印出来会出现中文乱码的情况 解决方案1: tomcat的日志配置文件的编码修改,找到tomcat安装目录conf下的logging.properties,encoding都修改成GBK或者UTF-8试试,当然我这种没成功  解决方案2: 修改idea显示编码

    2024年02月11日
    浏览(82)
  • IDEA启动tomcat控制台中文乱码问题

    IntelliJ IDEA是很多程序员必备且在业界被公认为最好的Java开发工具,有很多小伙伴在安装完IDEA并且tomcat之后,启动tomcat会出现控制台中文乱码问题,如下图所示: 具体解决步骤: 一、修改当前 Web 项目 Tomcat Server 的虚拟机输出选项 二、修改 IntelliJ IDEA 全局编码、项目编码、

    2024年02月11日
    浏览(61)
  • idea-控制台输出乱码问题

    现象描述: 今天在进行IDEA开发WEB工程调式的时候控制台日志输出了乱码,如下截图 其实开发者大多都知道乱码是 编码不一致导致的,但是有时候就是不知到哪些地方不一致,今天我碰到的情况可能和你的不相同 解决方案 : 点击help = edit custom vm options 打开这个文件 末尾追

    2024年02月16日
    浏览(80)
  • 解决IDEA tomcat控制台只有server日志

    2024年02月11日
    浏览(46)
  • 记一次Tomcat控制台弱口令爆破事件应急响应

    某内部应急演练中,安全部门在安全设备上观察到大量Tomcat控制台登录请求,现需根据流量情况进行安全事件分析。 Apache Tomcat是Apache 软件基金会的一款中间件。其中Manager App控制台容易被攻击者利用,通过弱口令爆破或者默认口令登录。 控制台页面存在Deploy功能,且可以通

    2024年02月11日
    浏览(56)
  • eclipse 控制台输出中文乱码【全面解决】

    前言:之前看到一篇文章介绍的方法只能修改单个文件,后来找到一个能彻底解决的文章但是看到的人不多,所以我也想着帮忙传播一下更高效的方法,让更多人少走弯路。 1. Window    Preferences 2.General  Workspace Text file encoding 3.选择Other:  然后自己输入 gbk  4.Apply and Close   

    2024年02月11日
    浏览(83)
  • Linux 如何处理tomcat/springboot进程控制台日志

    ① Tomcat catalina.out其实是tomcat的标准输出(stdout)和标准出错(stderr),这是在tomcat的启动脚本里指定的,如果没有修改的话stdout和stderr会重定向到这里。所以我们在应用里使用System.out打印的东西都会到这里来。另外,如果我们在应用里使用其他的日志框架,配置了向Console输出的

    2024年02月16日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包