关于按天切割Tomcat的catalina.out日志文件的配置
1、catalina.out 是 Tomcat 的标准输出和标准错误日志,通常输出到 Tomcat 安装目录下的 logs 文件夹中。这个日志文件会记录 Tomcat 启动、停止以及运行过程中产生的所有日志信息。
2、在Apache Tomcat中,日志文件catalina.out默认情况下不会自动按天切割。为了实现这一功能,通常有几种方法可以采用:
一、修改Tomcat的JULI日志配置
Tomcat不支持切割文件,但官方提供了日志文件输出的配置,在目录Tomcat**/conf/logging.properties
里。
包括localhost
、manager
、host-manager
、catalina
等日志的输出配置。
要实现按天切割,翻译过来就是“输出日志到今天的文件里”,虽然实现了,但理念还是有区别的:
在来的基础上加以下这行代码:
1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
...
...
1catalina.org.apache.juli.AsyncFileHandler.pattern = yyyy-MM-dd
扩展:
1catalina.org.apache.juli.AsyncFileHandler.suffix = .%g
1catalina.org.apache.juli.AsyncFileHandler.suffix = .out
说明:
Tomcat从版本7开始支持Java Util Logging (JUL) API,可以通过修改logging.properties文件来改变日志记录的行为,包括日志分割。但这种方法相对复杂,且不如第二种直接。
二、使用logrotate工具
logrotate
是一个用于管理日志文件的工具,它可以自动分割、压缩、删除和邮寄日志文件。通过配置 logrotate,我们可以轻松实现 catalina.out 按日期分割的需求。
我们需要在 Linux
系统上安装 logrotate(通常默认已安装
)。
如何判断linux是否自带logrotate?
# 判断是否已安装的几个命令
which logrotate
whereis logrotate
...
在/etc/logrotate.d/目录下创建或编辑一个针对Tomcat的日志配置文件,例如tomcat-catalina
/path/to/tomcat/logs/catalina.out {daily # 按天分割日志文件rotate 7 # 保留最近7个日志文件missingok # 如果日志文件不存在,不报错notifempty # 如果日志文件为空,不分割compress # 压缩分割后的日志文件delaycompress # 延迟压缩到下一个周期,确保当前周期的日志文件可用copytruncate # 复制并截断原文件,而不是移动并创建新文件(避免Tomcat因文件被移动而丢失输出)create 0640 tomcat tomcat # 以指定权限和所有者创建新日志文件postrotate# 在分割日志后执行的命令,这里可以重启Tomcat的日志输出(可选)# 但重启Tomcat可能会影响服务,通常不需要这样做# /path/to/tomcat/bin/shutdown.sh# /path/to/tomcat/bin/startup.sh# 或者,更简单地,向Tomcat发送HUP信号以重新打开日志文件(如果Tomcat支持)# kill -HUP $(cat /path/to/tomcat/logs/tomcat.pid)# 注意:上面的命令需要Tomcat配置了PID文件的路径endscript
}
注意:
/path/to/tomcat/
需要替换为你的 Tomcat 安装路径。copytruncate
选项用于在不停止 Tomcat 的情况下截断日志文件。但请注意,这要求 Tomcat 的日志输出是通过标准的文件描述符(如 stdout 或 stderr)进行的,并且 Tomcat 能够处理文件被截断的情况。如果 Tomcat 是通过重定向输出到 catalina.out 的方式记录日志的,那么可能需要考虑其他方法(如重启 Tomcat 或发送信号)来重新打开日志文件。然而,在生产环境中重启 Tomcat 可能会带来不必要的风险,因此通常建议使用 copytruncate 或确保 Tomcat 能够处理文件截断。postrotate
脚本块中的命令是在每次分割日志后执行的。这里提供了一些可选的命令,但请根据你的实际情况谨慎使用。特别是重启 Tomcat 的命令,可能会影响到正在运行的服务。测试
分割功能,确保分割后的日志文件完整且符合预期部署
:logrotate 通常由系统的 cron 服务定期调用。在大多数 Linux 发行版中,logrotate 的主配置文件(通常是 /etc/logrotate.conf)会包含一个 cron 任务,用于每天运行 logrotate。因此,你不需要手动设置 cron 任务。只需确保你的 logrotate 配置文件(如 /etc/logrotate.d/tomcat-catalina)被正确包含在主配置文件中即可。
附:无注释版:
/tomcat**/logs/catalina.out {dailyrotate 7missingok notifempty compress delaycompresscopytruncate create 0640 tomcat tomcatpostrotateendscript
}
三、使用cron任务配合脚本
这种方法未试验~
《The End》
相关文章:
关于按天切割Tomcat的catalina.out日志文件的配置
1、catalina.out 是 Tomcat 的标准输出和标准错误日志,通常输出到 Tomcat 安装目录下的 logs 文件夹中。这个日志文件会记录 Tomcat 启动、停止以及运行过程中产生的所有日志信息。 2、在Apache Tomcat中,日志文件catalina.out默认情况下不会自动按天切割…...
【人工智能】深入解析GPT、BERT与Transformer模型|从原理到应用的完整教程
在当今人工智能迅猛发展的时代,自然语言处理(NLP)领域涌现出许多强大的模型,其中GPT、BERT与Transformer无疑是最受关注的三大巨头。这些模型不仅在学术界引起了广泛讨论,也在工业界得到了广泛应用。那么,G…...
彻底理解如何保证ElasticSearch和数据库数据一致性问题
一.业务场景举例 需求: 一个卖房业务,双十一前一天,维护楼盘的运营人员突然接到合作开发商的通知,需要上线一批热门的楼盘列表,上传完成后,C端小程序支持按楼盘的名称、户型、面积等产品属性全模糊搜索热门…...
2024-2025热门留学趋势
在信息爆炸的时代,留学已成为许多人规划未来、拓宽视野的重要途径。随着全球教育格局的不断变化,留学领域也涌现出一系列新热点和趋势。本文将为您解读2024年最热门的留学话题,并提供实用的准备策略,助您在留学之路上一帆风顺。 热…...
寻找视频特效素材的优质网站推荐 轻松提升作品魅力
在短视频、影视和广告制作中,视频特效素材已成为提升作品专业感的关键元素。炫酷的光效、震撼的爆炸、动感的粒子效果和流畅的转场特效,都能让作品更具吸引力。那么,视频特效素材去哪里找呢?今天,小编为大家精心挑选了…...
【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-36
文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么ÿ…...
信息安全实验--密码学实验工具:CrypTool
1. CrypTool介绍💭 CrypTool 1的开源教育工具,用于密码学研究。通过CrypTool 1,可以实现加密和解密操作,数字签名。CrypTool1和2有很多区别的。 2. CrpyTool下载🔧 在做信息安全实验--密码学相关实验时,发…...
python的class 类创建、方法调用以及属性赋值
题目:购物车系统 创建一个简单的购物车系统,要求如下: 定义一个 Product 类,表示商品,包含以下属性和方法: 属性: name:商品名称(字符串) price࿱…...
Angular v19 (二):响应式当红实现signal的详细介绍:它擅长做什么、不能做什么?以及与vue、svelte、react等框架的响应式实现对比
本文紧接着Angular v19 新版本来啦,一起瞧瞧新特性吧!,主要针对它在v18引入了一项全新的响应式技术——Signal,这引起了开发者社区的广泛关注,最新的v19版本推出了更多的signal工具。Signal的加入旨在优化Angular的响应…...
IMX 平台UART驱动情景分析:write篇--从 TTY 层到硬件驱动的写操作流程解析
往期内容 本专栏往期内容:Uart子系统 UART串口硬件介绍深入理解TTY体系:设备节点与驱动程序框架详解Linux串口应用编程:从UART到GPS模块及字符设备驱动 解UART 子系统:Linux Kernel 4.9.88 中的核心结构体与设计详解IMX 平台UART驱…...
网络安全拟态防御技术
一. 拟态防御 拟态现象(Mimic Phenomenon, MP)是指一种生物如果能够在色彩、纹理和形状等特征上模拟另一种生物或环境,从而使一方或双方受益的生态适应现象。按防御行为分类可将其列入基于内生机理的主动防御范畴,又可称之为拟…...
灵活开源低代码平台——Microi吾码(一)
开源低代码平台-Microi吾码-平台简介1. 什么是低代码平台?2. 它能做什么?3. 它的优点是什么? 平台预览图平台亮点版本区别成功案例源码目录说明Microi吾码 - 系列文档 开源低代码平台-Microi吾码-平台简介 技术框架:.NET8 Redis …...
frida_hook_libart(简单解释)
一:直接取代码 //frida -U -f com.xingin.xhs -l hook_art.js -o xhsart.log //frida -U -f com.tencent.mobileqq -l hook_art.js -o qqart.logconst STD_STRING_SIZE 3 * Process.pointerSize; class StdString {constructor() {this.handle Memory.alloc(STD_S…...
计算机网络八股整理(二)
计算机网络八股整理(二) 应用层 1:dns的全称了解过吗? dns全称domain-name-system,翻译过来就是域名系统,是在计算机网络中将域名转换成ip地址的分布式数据库系统; 域名服务器的层级类似一个树…...
强化学习off-policy进化之路(PPO->DPO->KTO->ODPO->ORPO->simPO)
需要LLM在训练过程中做生成的方法是 On Policy,其余的为Off Policy。 On Policy是包含了反馈机制,Off Policy不包含反馈机制。 若进行环境交互的模型与被更新的模型是相同的模型,通常这种更新策略被称为on-policy的策略。on-policy的方法会有…...
Linux 如何创建逻辑卷并使用
一、逻辑卷的介绍 生成环境中逻辑卷使用率很高 逻辑卷的诞生:如果对磁盘直接使用fdisk分区,那么这中分区,我们叫做Linux的标准分区,Linux的标准分区格式化成文件系统之后,挂载使用,那么一旦文件系统的空间…...
java实现将图片插入word文档
插入图片所用依赖 private static void insertImage(XWPFDocument document, String path) {List<XWPFParagraph> paragraphs document.getParagraphs();for (XWPFParagraph paragraph : paragraphs) {CTP ctp paragraph.getCTP();for (int dwI 0; dwI < ctp.sizeO…...
初识java(3)
大家好,今天我们来讲讲我们的老伙计-变量,在哪一门编程语言中,变量的作用都是不可或缺的,那么下面我们就来详细了解一下java中的变量。 一.变量概念 在程序中,除了有始终不变的常量外,有些内容可能会经常…...
coqui-ai TTS 初步使用
项目地址:https://github.com/coqui-ai/TTS 1. 创建一个新的conda环境,如果自己会管理python环境也可以用其他方法 克隆项目下来 pip install -r requirements.txt # 安装依赖 pip install coqui-tts # 只要命令行工具的话 下载自己想要的模型 …...
matlab代码--卷积神经网络的手写数字识别
1.cnn介绍 卷积神经网络(Convolutional Neural Network, CNN)是一种深度学习的算法,在图像和视频识别、图像分类、自然语言处理等领域有着广泛的应用。CNN的基本结构包括输入层、卷积层、池化层(Pooling Layer)、全连…...
Scala—Map用法详解
Scala—Map用法详解 在 Scala 中,Map 是一种键值对的集合,其中每个键都是唯一的。Scala 提供了两种类型的 Map:不可变 Map 和可变 Map。 1. 不可变集合(Map) 不可变 Map 是默认的 Map 实现,位于 scala.co…...
极狐GitLab 17.6 正式发布几十项与 DevSecOps 相关的功能【六】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
ES6 、ESNext 规范、编译工具babel
ES6 、ESNext 规范、编译工具简介 ES6ES(ECMAScript) vs JS常量进一步探讨 obj对象的扩展面试:使对象属性也不能更改——Object.freeze(obj) 解构deconstruction变量的解构赋值:数组解构赋值:对象解构赋值:…...
DeepSpeed 配置文件(DeepSpeed Configuration Files)详解:中英文解释
中文版 本文详细介绍 DeepSpeed 配置文件,结合 4 卡 3090 的实际使用场景,重点解释各个参数的含义,并提供应对爆显存的方案。 DeepSpeed 配置文件详解:从基础到实战 DeepSpeed 是用于加速大规模分布式训练的重要工具,…...
前端JavaScript(一)---基本介绍
Javascript是一种由Netscape(网景)的LiveScript发展而来的原型化继承的面向对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如Perl,遗留的速度问题,为客户提供更流畅的浏览效果。当时服务端需要对…...
文本处理之sed
1、概述 sed是文本编辑器,作用是对文本的内容进行增删改查。 和vim不一样,sed是按行进行处理。 sed一次处理一行内容,处理完一行之后紧接着处理下一行,一直到文件的末尾 模式空间:临时储存,修改的结果临…...
uniapp在App端定义全局弹窗,当打开关闭弹窗会触发onShow、onHide生命周期怎么解决?
在uniapp(App端)中实现自定义弹框,可以通过创建一个透明页面来实现。点击进入当前页面时,页面背景会变透明,用户可以根据自己的需求进行自定义,最终效果类似于弹框。 遇到问题:当打开弹窗(进入弹窗页面)就会触发当前页…...
计算机网络 实验七 NAT配置实验
一、实验目的 通过本实验理解网络地址转换的原理和技术,掌握扩展NAT/NAPT设计、配置和测试。 二、实验原理 NAT配置实验的原理主要基于网络地址转换(NAT)技术,该技术用于将内部私有网络地址转换为外部公有网络地址,从…...
数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!
文章目录 前言一、交换排序1.1 冒泡排序1.2 快速排序1.2.1 hoare版本 快排1.2.2 挖坑法 快排1.2.3 lomuto前后指针 快排 二、归并排序总结 前言 继上篇学习了排序的前面两个部分:直接插入排序和选择排序 今天我们来学习排序中常用的交换排序以及非常稳定的归并排序 快排可是有多…...
【kafka04】消息队列与微服务之Kafka 图形工具
Kafka 在 ZooKeeper 里面的存储结构 topic 结构 /brokers/topics/[topic] partition结构 /brokers/topics/[topic]/partitions/[partitionId]/state broker信息 /brokers/ids/[o...N] 控制器 /controller 存储center controller中央控制器所在kafka broker的信息 消费者 /c…...
中国建设银行网站的机构/优化百度seo
一,建立 git 帐户1,在用做服务器的机器 Server 上建立 git 帐户。咱们能够经过 System Preferences->accounts 来添加。在这里我添加一个 git 的 administrator 帐户,administrator 不是必须的,在这里仅仅为了方便。2ÿ…...
一个空间怎么做多个网站/百度广告费
一 前言有赞的基础架构使用了UCloud的基础服务,我们有相当比例的数据库是UCloud的RDS(一部分使用云RDS,一部分使用购买他们的物理服务器自建数据库)。近期我们了解到 UCloud 推出一款基于快杰主机的UDB实例,因为他们在整机架构上针对CPU&…...
程序员做的网站别人用于诈骗/怎么查看域名是一级还是二级域名
这段时间在做Unity的项目,这差不多是我的第一次实战啊~然后公司来了实习的童鞋要学Unity,但是我一向不靠谱啊,所以只能帮他们稍微梳理下基础的东西了啊,唉~学长只能帮你们到这里了~顺便就把自己这两天整理的一些基础知识分享上来了…...
营销管理网站制作/线上营销模式有哪些
预备知识: 2个API函数 FindWindow,sendmessage 下载地址: http://download.csdn.net/detail/zang141588761/9600388 工具使用spy 很多朋友都对窗口句柄比较迷糊,这篇短文就以spy这个软件为主,介绍下窗体句柄和使用按键插件时 …...
什么网站免费制作/企业网络营销推广方案策划
eclipse可以开发vue吗?答案是:可以。Eclipse可以通过安装、使用 CodeMix插件来开发Vue.js。下面本篇文章就来给大家介绍一下,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。CodeMix是Eclipse的一款插…...
网站移动端做pc端的301跳转/网站快速收录付费入口
上一博文 NodeJS 实战(二) - 聊天室① 介绍和实现聊天室静态资源的架构, 这一次来加入真正的实时聊天功能吧。 在server.js需要加入新的模块,后续会来定义这个模块,这个模块是基于socket.io主要是用来支持 var chatServer require(./lib/cha…...