在Linux系统中,Tomcat 启动后默认将很多信息都写入到 catalina.out 文件中,我们可以通过tail -f catalina.out 来跟踪Tomcat 和相关应用运行的情况。 在windows下,我们使用startup.bat启动Tomcat以后,会发现catalina日志与Linux记录的内容有很大区别,大多信息只输出到屏幕而没有记录到catalina.out里面。 本文的内容就是要实现在windows下,将相关的控制台输出记录到后台的catalina.out文件中以便将来
Tomcat的catalina.out日志分割有多种方式,如logrotate、cronolog等,本文采用最简单的shell方式。
Linux下tomcat 启动报错touch: 无法触碰 “/usr/local/tomcat6.0/logs/catalina.out”: 没有那个文件或目录
我们都知道将一个项目部署到Tomcat之后,Tomcat服务启动后的标准输出(stdout)和标准出错(stderr)都会默认重定向到${TOMCAT_HOME}/logs/catalina.out这个文件中,有时候短短一会儿这个文件就能达到几十兆甚至上百兆,日积月累这个文件如果不及时清理将会占用服务器磁盘大量空间从而影响到整个项目的正常运行; 再者这样大日志文件对于我们进行错误排查以及日志分析都不是很方便,一次打开也花上好几分钟,直接cat命令查看也要滚掉好多屏,并且那时候想要来切割的话又异常麻烦。 所以,现在我们提前做好用日期来分割日志的配置,即Tomcat运行的每天都按照日期命名新建一个日志文件。
Tomcat是个运行在Apache上的应用服务器,支持运行Servlet/JSP应用程序的容器——可以将Tomcat看作是Apache的扩展,实际上Tomcat也可以独立于Apache运行。 漏洞编号: CVE-2016-1240 影响范围: Tomcat 8 <= 8.0.36-2 Tomcat 7 <= 7.0.70-2 Tomcat 6 <= 6.0.45+dfsg-1~deb8u1 受影响的系统包括Debian、Ubuntu,其他使用相应deb包的系统也可能受到影响。 漏洞概述: Debian系
Tomcat默认生成的日志文件catalina.out,随着时间的推移,逐渐增大,可能达到G数量级。文件过大,我们将无法使用过常规编辑工具查看,严重影响系统维护工作。解决此问题,主要从Tomcat和代码两方面考虑。
今天看了下tomcat日志,发现已经有8g多了... 仔细想想大概有2年多没有处理过日志了。因为博客线上也没出过啥问题,所以压根就没怎么看过日志。毕竟不是运维 ... 这方面确实没咋注意,服务器还是有很多需要搞清楚的 。
#!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7=`date -d "7 days ago" +%F` #catalina.out LogsCutting cd ${Tomcat_logs_path} && cp -f catalina.out catalina.${d}.log && echo > catalina.out && rm -rf catalina.${d7}.log
连接 ssh root@192.168.1.118 退出 exit 查看tomcat进程 ps -ef |grep tomcat 进入文件夹 cd 文件列表 ll 编辑配置文件 vim /usr/local/tomcat/conf/server.xml 编辑 a 保存 wq! 不保存退出 q! 执行权限 chmod 777 *.sh 启动tomcat查看日志 ./restart.sh && tail -f logs/catalina.out 同步文件到另一台服务器 scp -r 查看定时任务 crontab
tomcat日常运行会产生很多日志,系统运行时的日志主要集中在catalina.out文件中,随着日志的积累,该文件会越积越多,不利于后期日志查询,也不好全删文件。而使用日志分割,可以按照时间查询每天的日志,当Liunx硬盘容量不够时,可以删除时间更久的日志,同时也能保留近期的日志。
声明: 如果您有更好的技术与作者分享,或者商业合作; 请访问作者个人网站 http://www.esqabc.com/view/message.html 留言给作者。 如果该案例触犯您的专利,请在这里:http://www.esqabc.com/view/message.html 留言给作者说明原由 作者一经查实,马上删除。 手机留言请访问:http://www.esqabc.com
tomcat有五类日志:catalina、localhost、manager、admin、host-manager
tomcat里的几类日志: catalina(catalina.out,catalina.log) localhost manager admin host-manager
最近老大发现Tomcat的日志文件catalina.out里存在着大量的和公司项目相关的log信息,因为一般都是会使用日志框架并另外将log信息输出到另外的文件里的,catalina.out文件里就不需要这些多余的log信息了。
Tomcat日志每俩小时切割的脚本如下(这是用定时任务来完成的,此方法无需重启Tomcat):
Tomcat是使用自己的日志实现tomcat-juli.jar来打印日志信息的,日志会被打印到catalina.out里,除去你在项目里自己使用的日志框架外,由System.out,System.err或者printStackTrace()打印出来的信息则是会被输入到catalina.out里,如果引用的jar包里也有这些语句也会一起输入到catalina.out里。
Tomcat服务启动后会在logs目录里生成catalina.out文件而且一直累积,到后来越来越大,上网搜索了下切割该日志的解决办法,步骤如下:
我们采用Cronlog组件对此进行日志切分,官网http://cronolog.org/一直未能打开,只能从其它地方寻找资源了,这里也上传一份,供大家下载使用,【点击阅读原文查看】。
catalina.2018-07-05.log catalina.out localhost.2018-07-05.log localhost_access_log.2018-07-06.txt
2019年10月19号8点30分51秒,xxxx系统生产环境的92机器出现tomcat突然宕机问题。
第一步:上传解压 将tomcat 压缩包上传到/export/soft文件夹 将压缩包解压到/export/install内 tar -zxvf apache-tomcat-6.0.53.tar.gz -C /export/install 解压完毕表示安装完毕 第二步:启动tomcat 进入解压后目录的bin目录内实行启动 ./startup.sh 第三步:查看启动日志 日志路径:在安装路径内的logs内,有个catalina.out文件 所有的日志信息都在c
1、在Linux系统下,重启Tomcat使用命令操作的! ** 方法一:** 首先,进入Tomcat下的bin目录 cd /usr/local/tomcat/bin 使用Tomcat关闭命令 .
先吐嘈一下tomcat这个项目,日志切割这么常见的功能,tomcat这种知名开源项目默认居然不开启,生产环境跑不了几天,磁盘就满了,而且很多网上流传的方法,比如修改conf/logging.properties文件,将级别设置成OFF,我试了好象并不管用(tomcat 8.5.9.0版本 + centos 6.5 + jdk1.8环境) 正确姿势: 1、下载 https://mirrors.tuna.tsinghua.edu.cn/apache/logging/log4j/1.2.17/log4j-1.2.
1、命令格式: tail [必要参数] [选择参数] [文件]
在windows下,tomcat启动之后有一个黑窗口,很容易看到System.out.println或ex.printStackTrace这样的函数输出,非常方便调试,但是在linux下,没有这样的窗口,所以给我们调试带来了一定难度。
修改CATALINA_OUT的值,与logging.properties修改一样的路径,便于日志集中管理。
可以这样在线下载: http://tomcat.apache.org/download-70.cgi 下载地址
我们如果使用Dockerfile来构建Docker镜像,如果一不小心就会导致镜像大小超过1G,这是非常恐怖的。一般也都是好几百兆。较大的镜像往往会导致移植,迁移缓慢。Dockerfile就像代码一样需要持续去进行优化。使用下面的4个优化方案,可以大幅度的减小镜像的大小。
随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说。要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓。而且,切割后的日志,还可以定期清理掉久远的日志。
一、前言 随着每天业务的增长,Tomcat 的catalina.out日志 变得越来越大,占用磁盘空间不说。要查看某个时候的日志的时候,庞大的日志让你顿时无从下手,所以日志的切割的变得刻不容缓。而且,切割后的日志,还可以定期清理掉久远的日志...... 二、Tomcat 日志分割 我们采用日期形式切割catalina.out 日志,因此采用cronlog 软件切割: 1、安装 cronlog yum install -y cronolog httpd 2、修改bin/catalina.sh文
之前在网上看过一篇文章,是讲Tomcat进程意外退出的,我看完感觉好奇,自己也测试了下,果然是有这种问题,所以自己也借此总结一下。
使用FinalShell自带的上传工具将Tomcat的二进制发布包上传到Linux(与前面上传JDK安装包步骤
Logrotate是一个日志文件管理工具,它是Linux默认自带的一个日志切割工具。用来把旧文件轮转、压缩、删除,并且创建新的日志文件。我们可以根据日志文件的大小、天数等来转储,便于对日志文件管理,一般都是通过cron计划任务来完成的,让日志切割实现按小时分割,按天分割等。
说明: 在配置文件中搜索8080找到如上所示参数,将默认的8080端口改为80端口,更改完成后重启服务。
启动 Tomcat 时, catalina.out 中输出的日志格式可能不太理想。
安装apr来提高Tomcat 的可伸缩性和性能(针对Tomcat7) cd /root/install-lib/ 下载apr 和 apr-util最新版 1 wget http://apache.fayea.com/apr/apr-1.7.0.tar.gz 2 wget http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz 解压文件 1 tar -zxvf apr-1.7.0.tar.gz 2 tar -zxvf apr-util-1.5.2
经常会遇到这样的场景:测试环境磁盘跑满了,导致系统不能正常运行! 此时就需要查看是哪个目录或者文件占用了空间。 常使用如下几个命令进行排查:df, lsof,du。
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/52858320
综合:Tomcat下相关的日志文件 Cataline引擎的日志文件,文件名catalina.日期.log Tomcat下内部代码丢出的日志,文件名localhost.日期.log(jsp页面内部错误的异常,org.apache.jasper.runtime.HttpJspBase.service类丢出的,日志信息就在该文件!) Tomcat下默认manager应用日志,文件名manager.日期.log 控制台输出的日志,Linux下默认重定向到catalina.out Access日志(Servlet.xml配置) 应用程序通过log4j.properties:${catalina.base}/logs/probe.log重定向过来的日志 JULI:org.apache.juli.FileHandler对应的日志文件名:{prefix}.{date}.{suffix} 默认juli.日期.log Tomcat下Web应用程序可以使用如下3种日志: 使用JDK提供的日志java.util.logging. 使用Java Servlets规范中定义的日志javax.servlet.ServletContext.log(...) 使用其他日志框架,如log4j 不同Web应用程序下使用的Servlet日志(或者日志框架提供的日志)是相互独立的(这与Tomcat的class loader有关,参考Class Loader HOW-TO )。如果Web应用程序使用的是java.util.logging日志,那么它们并不相互独立,这是因为java.util.logging是由JAVA系统中的Bootstrap ClassLoader来加载的,因此它在各Web应用程序之间是共享的! Tomcat使用的日志配置文件:$CATALINA_BASE/conf/logging.properties Tomcat日志管理类默认使用的是JULI:LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" Java的stdout and stderr会被重定向到$CATALINA_BASE/logs/catalina.out,同时:下面2种类型的错误信息,也会被记录在这里 Uncaught exceptions printed by java.lang.ThreadGroup.uncaughtException(.. Thread dumps, if you requested them via a system signal Access访问日志:它与一般的日志有关系但不太一样,它在Servlet.xml中的Context或者 Host或者Engine中配置。在上述的配置节中增加下述的Value就行,具体参考:The Valve Component Xml代码 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".logs" pattern="common" resolveHosts="false"/> Tomcat默认使用JULI日志系统(可以参考官网文档修改成使用log4j),它是对默认的JDK日志java.util.logging进行一定的封装,和标准JDK日志支持相同的配置。最大的不同是针对不同的classloader,可以使用不同的配置文件,使得tomcat下不同的Web应用程序可以使用各自独立的日志文件。也就是说,Tomcat下的默认日志有如下2个层次: 全局配置文件. That is usually done in the ${catalina.base}/conf/logging.properties file. The file is specified by the java.util.logging.config.file System property which is set by the startup scripts. If it is not readable or is not configured, the default is to use the ${java.home}/lib/logging.properties file in the JRE. Web应用程序中使用WEB-INF/classes/logging.properties 默认的JRE中的logging.properties会
版权声明:本文为木偶人shaon原创文章,转载请注明原文地址,非常感谢。 https://blog.csdn.net/wh211212/article/details/53785044
现象描述: 线上机器的程序文件(包括TOMCAT自身)使用APP账号作为属主运行,同时禁止了APP账号的BASH。登录系统使用了统一认证,这样每个人都有自己的账号登录系统。为了方便开发人员登录查看日志,日志文件的文件权限为"rw-r-r",同时也是系统默认的umask。这里简单说下umask权限码。在Linux系统下,新建目录的权限是777减去umask码值,新建文件的权限是666减去umaks码值,由于linux默认的umask是0022,所以一般新建目录和文件的默认权限分别是755和644。
日志路径:/usr/local/nginx/logs, 截取access.log中2019年3月24日17点00~02之间的日志: 写法1:
四、Tomcat服务器启动 1.启动Tomcat服务器 进入tomcat服务器的bin目录,然后执行”./startup.sh”命令启动Tomcat服务器
由于现在工作中linux用的越来越多,所以这里再重新梳理下。 1.tailf /home/tomcat/apache-tomcat-8.5.8/logs/catalina.out 查看tomcat下日志 2.show full processlist 查看是否有锁表(这个可以在navigat中查看),
在实际生产中,我们知道哪些应用的日志会自动分割吗?哪些应用日志需要我们通过服务进行定时分割?接下来我们来看看。
生产环境中Tomcat每天都会产生很多日志,如果不清理磁盘容量会不够,手动清理又太麻烦。因此写个脚本每天定时去删除5天前(根据实际情况而定)的日志文件。
今天要查看tomcat的catalina.out的目录下的2018/01/17 17:30:13的日志,但是文件很大,G级别的,如果下载到本地,打开搜索很麻烦,如果使用tail -f 命令去查看,那么挨行去看很麻烦。
配置Tomcat监听80端口 通过网站访问的是80端口,我们直接输入IP就可以,但是8080端口要输入,而80端口是默认的,可以省略的。所以我们要配置Tomcat监听80端口 vim /usr/lo
配置Tomcat监听80端口: vim /usr/local/tomcat/conf/server.xml =编辑Tomcat配置文件 Connector po
领取专属 10元无门槛券
手把手带您无忧上云