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

news2024/11/26 19:38:32

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

    • 方法一
    • 方法二

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

catalina.日期.log
1、主要是记录tomcat启动时候的信息;
2、启动的JVM参数以及操作系统等日志信息;
3、没有使用log4j等日志机制,系统的的错误信息与打印语句也在这个日志文件中记录;
4、linux下所有的日志都在catalina.out中。

方法一

步骤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

生成的日志如下
在这里插入图片描述

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

方法二

步骤:打开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服务器会发现命令窗口中没有内容,这样就对了。
在这里插入图片描述
生成的日志如下
在这里插入图片描述

由于配置 run 启动方式,导致catalina.bat文件的窗口名称配置已失效
只能去startup.bat文件里面重新配置
在这里插入图片描述

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

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

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

在http://sourceforge.net/projects/unxutils/?source=dlp 下载UnxUtils.zip,
请添加图片描述
解压后把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 xp 或者 Windows 7 的话,记得前面加个;(如果原来有了的话,就不要加了)
完整的为
;C:\WINDOWS\system32

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1170559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JVM离线分析-使用MAT分析dump堆文件

1. MAT(Memory Analyzer Tool)的介绍 官方介绍 The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps you find memory leaks and reduce memory consumption. Use the Memory Analyzer to analyze productive heap …

CodeWhisperer 的使用心得

文章作者:小SS 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社…

第9章_子查询

文章目录 1 需求分析与问题解决1.1 实际问题1.2 子查询的基本使用1.3 子查询的分类1.3.1 分类方式11.3.2 分类方式2 1.4 演示代码 2 单行子查询2.1 单行比较操作符2.2 代码示例2.3 HAVING中的子查询2.4 CASE中的子查询2.5 子查询中的空值问题2.6 非法使用子查询演示代码 3 多行…

错误页 模板

下载链接:https://ext.dcloud.net.cn/plugin?id15229 http://下载链接:https://ext.dcloud.net.cn/plugin?id15229 如有问题可添加下方名片

Day39 QTableWidget类的使用

1.简介 介绍QtableWidget各种属性的用法,以及常用的一些信号,最后利用这些特性,制作一个用于下发设备运行参数的表格。该表格可以实现折叠和取消折叠,在源代码中用了事件过滤器实现,也可以用自带的click信号。显示了图…

我用 LangChain 打造自己的 LLM 应用项目

随着LLM的技术发展,其在业务上的应用越来越关键,通过LangChain大大降低了LLM应用开发的门槛。本文通过介绍LangChain是什么,LangChain的核心组件以及LangChain在实际场景下的使用方式,希望帮助大家能快速上手LLM应用的开发。 技术…

二叉树采用二叉链表存储:编写计算二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)

二叉树采用二叉链表存储:编写计算二叉树最大宽度的算法 (二叉树的最大宽度是指二叉树所有层中结点个数的最大值) 和二叉树有关的代码,基本都逃不过“先中后层”,这四种遍历 而我们这里是让你计算最大宽度&#xff0c…

tail:无法打开文件错误

错误 解决方法与原因 原因是因为之前启动的没有关闭 解决方法 1.输入ls 2.可以看到里面有start_all.sh和stop_all.sh(我们使用stop_all.sh关闭) 3.使用start_all.sh重新启动 4.我们再使用命令查看,可以看到没有错误了

「Verilog学习笔记」奇偶校验

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 分析 通常所说的奇偶校验: 奇校验:对输入数据添加1位0或者1,使得添加后的数包含奇数个1; 比如100,有奇数个1&am…

汇总记录Python常用的基础内置方法

这里汇总记录一些Python常用的基础内置方法 (参照哔站有一个大佬"小飞有点东西"的笔记整理记录而得,仅限方便需要的时候可以直接在网上搜索查阅而整理记录) 输出/输入 print() input()print打印颜色设置 显示方式;前景颜色;背景颜色,这3个…

CRM系统的常用功能

CRM系统旨在帮助企业有效管理客户关系,提升销售和市场营销业绩,以及提供优质的客户服务。以下是CRM系统常见的功能和模块: 1. 客户信息管理: - 中央化存储客户信息:CRM系统允许企业集中管理和维护客户信息&#xff0c…

腾讯云3年/5年时长云服务器购买攻略分享

腾讯云是腾讯旗下云计算品牌,为了吸引用户经常推出各种优惠活动,最吸引用户的还是特惠云服务器,下面给大家分享腾讯云3年/5年时长特惠服务器购买入口及攻略! 购买入口:传送门>>> 购买攻略: 进入…

算法通关村第六关-白银挑战树

大家好我是苏麟 , 今天聊聊树 . 大纲 树的概念二叉树满二叉树完全二叉树 树的性质树的定义与存储方式树的遍历 树的概念 树是我们计算机中非常重要的一种数据结构,同时使用树这种数据结构,可以描述现实生活中的很多事物,例如家谱、单位的组织…

01-单节点部署clickhouse及简单使用

1、下载rpm安装包: 官网:https://packages.clickhouse.com/rpm/stable/ clickhouse19.4版本之后只需下载3个rpm安装包,上传到节点目录即可 2、rpm包安装: 安装顺序为conmon->server->client 执行 rpm -ivh ./clickhouse-…

第二十五章 BEV感知系列二(车道线感知)

前言 近期参与到了手写AI的车道线检测的学习中去,以此系列笔记记录学习与思考的全过程。车道线检测系列会持续更新,力求完整精炼,引人启示。所需前期知识,可以结合手写AI进行系统的学习。 BEV感知系列是对论文Delving into the De…

proxifier 2023年11月最新版的安装

前言 Proxifier 是一款功能非常强大的socks5客户端,可以让不支持通过代理服务器工作的网络程序能通过HTTPS或SOCKS代理或代理链。支持64位系统支持Xp,Vista,Win7,支持socks4,socks5,http 代理协议&#xf…

python 深度学习 解决遇到的报错问题8

本篇继python 深度学习 解决遇到的报错问题7-CSDN博客 目录 一、OSError: [WinError 127] 找不到指定的程序。 Error loading "D:\my_ruanjian\conda-myenvs\deeplearning\lib\site-packages\torch\lib\caffe2_detectron_ops.dll" or one of its dependencies. 二、…

婚庆策划小程序制作教程

本文将向你展示如何使用小程序制作平台,轻松制作婚庆策划小程序。只需按照以下步骤操作,你就能拥有自己的专业级婚庆策划小程序。 登录小程序制作平台 首先,你需要登录小程序制作平台。在浏览器搜索乔拓云,然后使用你的账号登录。…

【复盘】记录一次JVM 异常问题 java.lang.OutOfMemoryError: unable to create new native thread

背景是最新运营提了一个需求,需要根据用户信息拉去三分机构的信贷数据,需要达到一天百万级别,但是经过实际测试,也只能达到40W量级,具体就是通过起多个Spring Boot项目,每个项目1S拉一个用户,基…

Docker网络模式_Docker常用命令_以及Docker如何给运行的镜像内容连接互联网_Docker网络模式原理---Docker工作笔记004

然后我们来看一下docker的网络模式: 这个docker我们先看一下电脑上的网络,有两个,1个是lo是测试用的一个是enp0s3这个是我们以太网地址,然后我们去: 安装docker 安装后我们再去ip address可以看到多出来一个网络是docker0 这里ip地址是172.17.0.1这个是私有地址外部无法访问 这…