-
为什么tomcat的catalina.log日志中,没有把控制台所有的信息都记录下来5
如题,控制台报错,打印出了异常信息,但是到logs目录下打开catalina.log文件查看却没有记录,这是什么原因
而且以前我见过日志里出现过异常信息,是同一个tomcat,也是同样的环境,没有修改过配置
问题补充:引用
有可能打印的日志是直接SYSTEM.OUT.PRINTLN,所以不打印到.LOG文件上,
还有就是TOMCAT使用的LOG与你自己工程里使用的LOG不是同一个JAR包,你工程里不应该有LOG的相关JAR包了
谢谢你们的回答,我没有说清楚,在我的应用中,使用了log4j来记录日志,而tomcat是使用的common-log.jar来记录日志的,这两个肯定记录不到一块
异常堆栈信息是直接调用e.printStackTrace打印出来的,这样的异常信息在catalina.log和log4j的日志信息里都没有出现,log4j可以理解为什么没有,因为毕竟这个方法打印堆栈信息没有使用log4j来记录,catalina.log中也没有出现,他没有对堆栈信息的记录吗?对runtime异常还可以处理,异常不进行捕获,用log4j就可以记录到,但如果是编译时异常,就没有办法处理了,有人知道怎么处理吗?
问题补充:Dxx23 写道今天刚遇到这个问题,我tomcat下的logs文件夹直接是空的,没有日志,原来在工程log4j.properties文件中定义了日志的写入路径:
log4j.appender.A2.File=/beian/logs/beian.log
前面目录就是tomcat的安装目录
谢谢回答,log4j的log4j.xml和tomcat的loging.properties我都检查过了,而且tomcat和log4j日志文件都能正常输出,就是不全,有些异常信息没有输出到日志中去
2011年5月06日 14:43
8个答案 按时间排序 按投票排序
-
采纳的答案
我也碰到这样的问题了,由于项目中处理异常的代码比较多,且以前没有用log4j记录,如果修改的话基本上每一个java文件都要修改成log.error("",e)这样的方式才能记录,我采用了这样的方式来记录,虽然不太好,但是应该可以应付过去
把tomcat/bin目录下的startup.bat文件中的
call "%EXECUTABLE%" start "CMD_LINE_ARGS"
修改为
call "%EXECUTABLE%" run "CMD_LINE_ARGS"
再把catalina.bat文件中最后最长的几行修改一下(都是以%ACTION%结尾的),在后边加上:
>> %CATALINA_BASE%\logs\xxx_%DATE:~0,10%.log
(注:%CATALINA_BASE%是tomcat的根目录,%DATE:~0,10%是系统时间截取,有的系统可能不是这样截取的,你可以用echo %DATE%命令看一下结果,0是起始位置,10时长度,根据结果来截取一下)
添加这行的目的是让tomcat把控制台的信息都输出到
%CATALINA_BASE%\logs\xxx_%DATE:~0,10%.log
这个文件中,但是控制台就不输出了,这就是他的缺点,但是如果是在用户环境下部署的话,控制台输出也不重要吧
还有一个缺点,貌似是不支持中文
希望可以帮到你2011年5月06日 17:49
-
你要配置login4j的
如果你使用system.out.println();它只会打印到控制台,不会输出到配置文件中2011年5月06日 17:20
-
try{
............
} catch (Exception e){
log.error(".......", e);
}
你代码中把错误写进日志了嘛?2011年5月06日 16:59
-
还有一个可能是你的日志输出级别的限制,造成不能完全输出异常:
[url]
http://blog.ccidnet.com/home.php?mod=space&uid=42621&do=blog&id=1030540
[/url]2011年5月06日 15:53
-
今天刚遇到这个问题,我tomcat下的logs文件夹直接是空的,没有日志,原来在工程log4j.properties文件中定义了日志的写入路径:
log4j.appender.A2.File=/beian/logs/beian.log
前面目录就是tomcat的安装目录2011年5月06日 15:24
-
有可能打印的日志是直接SYSTEM.OUT.PRINTLN,所以不打印到.LOG文件上,
还有就是TOMCAT使用的LOG与你自己工程里使用的LOG不是同一个JAR包,你工程里不应该有LOG的相关JAR包了2011年5月06日 14:50
相关推荐
Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...
今天小编就为大家分享一篇关于Tomcat使用Log4j输出catalina.out日志,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
部署tomcat下的项目 监控的时候发现 日志中文乱码 ,tomcat 下catalina.out 日志乱码问题处理
针对linux环境上tomcat不断输出到catalina.out文件的问题,提供一个按天分割catalina.out的脚本,以及操作说明。绝对可用!
Tomcat输出catalina.out的大小控制
tomcat日志 catalina.out分离 免去catalina,out过大的情况,并且查看日志方便,里面包含了食用方法和一个写好的catalina.sh文件 安装好cronolog后直接覆盖源文件
windows下tomcat的catalina.out按天自动分割,windows下tomcat日志按天自动分割
Tomcat日志catalina.out过大解决方案--使用logback的资源包,包括jar包,和使用文档,具体使用请参考我的同名博客。
catalina.out日志查看工具,不过查找不太好用,有时间会有便宜,可以定位到大概的位置。大多数情况是可以查到的
直接使用此jar包 放入tomcat lib目录下 修改conf配置文件 重起生效
概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本...这个脚本的代码有点多, 就单独弄了一篇展示 catalina.bat 脚本中的内容. 点击 [catalina.bat
catalina.out是tomcat把stdout和stderr重定向到文件后生成的日志文件,其生成是不受logging.properties 或 log4j.properties配置文件所影响的,需要另行安装工具(如cronolog或rotatelogs之类)进行处理。...
tomcat下用Log4j 按文件大小,生成catalina.out日志文件
tomcat的catalina.out是tomcat的控制台输出⽂件,在tomcat持续运⾏的过程中,该⽂件会越来 越⼤,并且tomcat⾃身是没有带分割catalina.out的功能的。所有档如果某些需求需要导致我们查看 catalina.out⽂件的时候 ...
linux下切分tomcat的Catalina.out日志,文档包含相关安装工具
最近发现tomcat日志文件catalina.out不断变大,我的服务器里该文件目前已接近10G,导致系统磁盘空间边变小,而且管理也难于管理,所以想用一种工具来分割它。网上找了找用cronolog。
tomcat-6.0.33.catalina.jar.zip
NULL 博文链接:https://it586.iteye.com/blog/1772933
NULL 博文链接:https://shamu.iteye.com/blog/2089852
liunx版本 tomcat log目录下catalina.out文件切割工具,防止长时间运行导致catalina.out文件过大占用过多内存,里面有 切割工具和使用说明文档。