0 0

为什么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个答案 按时间排序 按投票排序

0 0

采纳的答案

我也碰到这样的问题了,由于项目中处理异常的代码比较多,且以前没有用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
0 0

你要配置login4j的
如果你使用system.out.println();它只会打印到控制台,不会输出到配置文件中

2011年5月06日 17:20
0 0

try{
  ............
} catch (Exception e){
  log.error(".......", e);
}
你代码中把错误写进日志了嘛?

2011年5月06日 16:59
0 0

还有一个可能是你的日志输出级别的限制,造成不能完全输出异常:
[url]
http://blog.ccidnet.com/home.php?mod=space&uid=42621&do=blog&id=1030540
[/url]

2011年5月06日 15:53
0 0

今天刚遇到这个问题,我tomcat下的logs文件夹直接是空的,没有日志,原来在工程log4j.properties文件中定义了日志的写入路径:
log4j.appender.A2.File=/beian/logs/beian.log
前面目录就是tomcat的安装目录

2011年5月06日 15:24
0 0

也有可能是工程里包含了日志,比如log4j啥的,看看log4j.properties文件里面是不是定义了log写在哪个文件里面了

2011年5月06日 15:11
0 0

是不是日志满了,换了文件了,你看下是不是还有很多catalina开头的文件

2011年5月06日 14:52
0 0

有可能打印的日志是直接SYSTEM.OUT.PRINTLN,所以不打印到.LOG文件上,
还有就是TOMCAT使用的LOG与你自己工程里使用的LOG不是同一个JAR包,你工程里不应该有LOG的相关JAR包了

2011年5月06日 14:50

相关推荐

    Tomcat使用Log4j输出catalina.out日志

    在Tomcat中,默认的日志是通过catalina.out文件记录的,它使用java.util.logging包提供的日志系统。不过,catalina.out文件不具备按天滚动的功能,随着时间的推移,它会变得越来越大,不利于日志文件的管理。另外,...

    Linux tomcat下catalina.out日志文件分割

    Linux tomcat下catalina.out日志文件分割 前言: tomcat默认使用Java.util.logging记录日志,默认只记录tomcat的日志,不记录应用的日志。tomcat支持采用log4j进行日志记录,配置方法如下: 1.更新最新的tomcat_juli...

    Linux下tomcat日志catalina.out按天(/周)分割

    默认情况下,Tomcat的主要日志输出文件是`catalina.out`,它记录了服务器启动、运行和关闭过程中的所有标准输出和错误信息。然而,随着服务器运行时间的增长,`catalina.out`可能会变得非常大,导致日志查找和分析变...

    Tomcat下使用Log4j 接管 catalina.out 日志文件生成方式

    在Java Web开发中,Tomcat是一个广泛使用的应用服务器,它默认使用`catalina.out`文件来记录所有标准输出和错误输出。然而,对于大型应用或长时间运行的服务器,`catalina.out`可能会变得非常大,不利于日志管理和...

    tomcat下用Log4j 按文件大小,生成catalina.out日志文件

    在Tomcat中配置Log4j,可以实现按照文件大小生成日志文件,如`catalina.out`,从而避免单个日志文件过大导致的管理不便。 首先,我们需要理解Log4j的工作原理。Log4j主要包括三个核心组件:Logger(日志器)、...

    tomcat控制台详细错误日志设置

    在使用Apache Tomcat服务器时,有时我们可能会遇到控制台输出的错误信息不够详细,这给问题定位带来困难。为了帮助开发者更好地理解并解决这些问题,我们可以调整Tomcat的配置,使其输出更详细的错误日志。本篇文章...

    Tomcat 不显示详细日志的问题

    Tomcat 不显示详细日志的问题解决方案 ...解决 Tomcat 不显示详细日志的问题需要配置 Log4j,以便正确地记录日志信息。通过配置 log4j.properties 文件,我们可以根据需要记录详细的错误日志,从而解决问题。

    log4j替代catalina.out

    在Ubuntu操作系统上,Tomcat是常用的Java应用服务器,它的默认日志系统是通过`catalina.out`文件来记录所有应用程序的输出。然而,对于大型复杂的应用,这种默认的日志处理方式可能不够灵活,难以满足日志管理和分析...

    tomcat9 slf4j+log4j2 写日志.zip

    这个配置会将日志输出到控制台和名为`app.log`的文件中,日志级别设置为调试(DEBUG),这意味着所有等级等于或高于DEBUG的日志事件都将被记录。 3. **配置Tomcat**:在`$CATALINA_HOME/lib`目录下添加`log4j-api....

    tomcat日志配置.docx

    本文将详细介绍 Tomcat 的日志配置,包括日志开关文件、日志信息、修改日志级别和使用 Log4j 记录应用程序日志或系统日志。 一、Tomcat 中的日志开关文件 Tomcat 中的日志开关文件是 logging.properties,位于 ...

    tomcat输出输出着就不输出了,什么原因?解决方法是

    1. **日志重定向**:Tomcat默认配置下,标准输出(`System.out`)和标准错误(`System.err`)会被重定向到服务器的控制台日志中。如果Tomcat日志配置发生了变化或者日志文件达到了某个大小限制,那么新的输出可能会...

    tomcat-juli.jar,tomcat-juli-adapters.jar,log4j-1.2.12.jar tomcat 6日志输出

    `logs`文件夹中的文件记录了Tomcat运行时的各种日志信息,包括Catalina服务器日志、应用日志等。 3. **日志级别**: - 可以根据需要调整日志级别,如`INFO`用于常规信息,`WARN`用于警告,`ERROR`用于错误,`DEBUG...

    log4j 配置日志文件,把日志信息输出到项目的某个文件夹下

    在这个配置中,我们定义了一个名为`FILE`的appender,它会将日志信息写入到`${catalina.home}/logs/myApp.log`文件。`${catalina.home}`是Tomcat服务器的安装目录,这意味着日志文件会存储在Tomcat的logs子目录下。`...

    Tomcat5.5日志管理log4j包文件

    这个配置表示,所有的日志信息将按照INFO级别及以上输出,既打印到控制台,也写入到指定的文件`/var/log/tomcat/application.log`,并且每天生成一个新的日志文件。 除了基础配置,log4j还支持更复杂的配置,例如...

    tomcat日志详细说明

    日期.log**:这是Tomcat最核心的日志文件之一,记录了Tomcat启动过程中的详细信息,包括JVM参数、操作系统信息等。例如,在成功启动时,你可能会看到如下的日志记录: ``` 24-Dec-2018 13:30:02.664 信息 [main] ...

    tomcat log4j切分日志所需jar包

    为了管理和监控应用程序的运行状态,Tomcat生成了详细的日志输出,其中最常见的是`catalina.out`或`catalina.log`文件。然而,随着应用程序的运行时间增长,这个日志文件可能会变得非常大,不利于日后的检索和分析。...

    log4j tomcat日志jar包 tomcat-juli-adapters,log4j-1.2.15.jar,tomcat-juli.jar

    Log4j是一个功能强大的日志库,它提供了灵活的日志记录配置,支持多种输出格式,如控制台、文件、数据库等,并且可以通过不同的日志级别(如DEBUG、INFO、WARN、ERROR)来控制日志的输出。在Tomcat中,通过引入Log4j...

    tomcat日志配置所有包

    在Tomcat中,日志配置允许开发者和管理员监控服务器的行为,记录错误信息以及调试应用程序。以下是关于Tomcat日志配置的详细说明: 1. **Tomcat日志框架** - Tomcat使用Java的`java.util.logging`(JUL)框架作为...

    apache-tomcat-8.5.53.zip

    - 存储Tomcat运行时产生的日志文件,如`catalina.out`记录了控制台输出,`host-manager.log`和`manager.log`记录了管理应用的活动。 4. **temp** 目录: - 临时文件存储的地方,Tomcat在运行过程中可能创建的一些...

Global site tag (gtag.js) - Google Analytics