0 0

linux下tomcat错误日志显示不全怎么办10

tomcat下错误日志有时候显示部分,有些能全部显示,如下
Aug 30, 2012 10:32:31 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet FrameServlet threw exception
java.lang.NullPointerException
        at com.zengame.service.hero.UserHeroService.queryPubHero(UserHeroService.java:465)
        at com.zengame.command.hero.QueryPubHeroCommand.execute(QueryPubHeroCommand.java:31)
        at com.zengame.command.base.BaseCommand.doCommand(BaseCommand.java:149)
        at com.zengame.servlet.FrameServlet.doPost(FrameServlet.java:209)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at com.zengame.filter.EncodingFilter.doFilter(EncodingFilter.java:32)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:242)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:402)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:249)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)
Aug 30, 2012 10:35:00 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet FrameServlet threw exception
java.lang.NullPointerException
Aug 30, 2012 10:37:39 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet FrameServlet threw exception
java.lang.NullPointerException
Aug 30, 2012 10:40:47 AM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet FrameServlet threw exception
java.lang.NullPointerException


问题补充
怎么才能让它全部显示错误信息 - -
2012年8月30日 13:59

2个答案 按时间排序 按投票排序

0 0

这不是tomcat的问题,而是java内部:

private void printStackTraceAsCause(PrintStream s,
                                        StackTraceElement[] causedTrace)
    {
        // assert Thread.holdsLock(s);

        // Compute number of frames in common between this and caused
        StackTraceElement[] trace = getOurStackTrace();
        int m = trace.length-1, n = causedTrace.length-1;
        while (m >= 0 && n >=0 && trace[m].equals(causedTrace[n])) {
            m--; n--;
        }
        int framesInCommon = trace.length - 1 - m;

        s.println("Caused by: " + this);
        for (int i=0; i <= m; i++)
            s.println("\tat " + trace[i]);
        if (framesInCommon != 0)
            s.println("\t... " + framesInCommon + " more");

        // Recurse if we have a cause
        Throwable ourCause = getCause();
        if (ourCause != null)
            ourCause.printStackTraceAsCause(s, trace);
    }

异常最大深度是有限制的(就是m)

        int m = trace.length-1, n = causedTrace.length-1;
        while (m >= 0 && n >=0 && trace[m].equals(causedTrace[n])) {
            m--; n--;
        }
       省略了之后的一些(这一些会在它的原因中继续输出[即递归数据])


如果你需要全的 可以自己获取StackTraceElement 然后打印。



输出的异常的最下边是最原始的原因,,往上就是封装


    AException
       BException
           CException --->这是真正原因

2012年8月30日 14:09
0 0

ava.lang.NullPointerException
        at com.zengame.service.hero.UserHeroService.queryPubHero(UserHeroService.java:465)
        at
UserHeroServic.java 465行
明显的空指针
可以设置日志输出的位置,大小来控制
#log4j.appender.RF.File=./log/log.txt
#log4j.appender.RF.MaxFileSize=500MB
log4j日志参考文档:
http://demojava.iteye.com/blog/1462756

2012年8月30日 14:06

相关推荐

    Tomcat 不显示详细日志的问题

    但是,在某些情况下,Tomcat 的详细错误日志可能会消失,只报一个万恶的 Context [] startup failed due to previous errors,却找不到 previous errors 具体是啥东西。这篇文章将为您介绍解决该问题的方法。 问题...

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

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

    Linux下配置Tomcat日志分析

    在Linux环境中,对Tomcat日志进行分析是监控和优化服务器性能的重要环节。awstats是一款强大的Web服务器统计工具,能够帮助我们深入理解网站的访问情况,包括访问者数量、页面浏览量、搜索引擎来源等信息。以下是...

    linux下部署tomcat

    ### Linux下部署Tomcat及Firefox静默升级 #### 一、Linux下部署Tomcat **部署过程概述** 在Linux环境下部署Tomcat主要包括以下几个步骤:安装Java环境、上传Tomcat压缩包、配置环境变量、启动与管理Tomcat服务...

    Linux环境下tomcat7

    - **查看错误日志**: `catalina.out`是主要的错误日志文件,通过分析其中的错误信息,可定位问题所在。 - **使用`jstack`和`jmap`**: 这些JDK自带的工具可以帮助诊断线程和内存问题。 以上内容涵盖了在Linux环境...

    Linux下Tomcat的启动、关闭、杀死进程

    ### Linux下Tomcat的启动、关闭、杀死进程 在Linux环境下部署和管理Java Web应用程序时,Apache Tomcat作为一款广泛使用的应用服务器,其操作过程对于系统管理员和开发人员来说至关重要。本文将详细介绍如何在Linux...

    tomcat cronolog日志分隔.zip

    本资源"tomcat cronolog日志分隔.zip"提供了一种在Linux环境下对Tomcat日志进行自动分割的方法,使用了cronolog工具,它是一个强大的日志轮换工具,可以按照时间间隔分割日志文件,避免单个日志文件过大导致的管理...

    Linux下搭建tomcat集群全记录

    【Linux下搭建tomcat集群全记录】 在Linux环境中设置一个tomcat集群可以帮助提高应用程序的可用性和性能,通过负载均衡和故障转移确保服务的连续性。本文将详细介绍如何在Linux上搭建一个由两个tomcat节点和一个...

    Linux系统在tomcat9安装包(实践可用)

    - 无法启动Tomcat:检查日志文件 `$CATALINA_HOME/logs/catalina.out`,寻找错误原因。 - 端口被占用:修改`server.xml`中端口设置,并确保没有其他服务使用相同端口。 - 访问速度慢:优化Java堆大小设置,如在`$...

    win系统下的tomcat日志按日期切割工具

    "win系统下的tomcat日志按日期切割工具"指的是在Windows环境下对Tomcat日志进行自动切割的解决方案。通常,Linux系统中有一个名为`logrotate`的工具用于此目的,但在Windows上,我们可以使用类似功能的`cronolog`...

    linux下tomcat项目一键部署

    在Linux环境下部署Java Web应用程序,特别是使用Tomcat服务器时,通常需要进行一系列手动步骤,包括配置环境变量、解压Tomcat、复制WAR文件到webapps目录等。然而,通过编写自动化脚本,我们可以将这些繁琐的过程...

    tomcat 下catalina.out 日志乱码问题处理

    标题中的“tomcat下catalina.out日志乱码问题处理”主要涉及的是在Tomcat服务器运行过程中,输出的日志文件`catalina.out`中,中文字符显示为乱码的状况。这通常是由于字符编码不匹配导致的,因为Tomcat在读取或写入...

    window tomcat项目迁移到linux

    【知识点详解】 在将Window上的Tomcat项目迁移到Linux系统时,主要涉及以下几个关键步骤: 1. **JDK的配置**: - 首先,需要从Oracle官网(现在是 AdoptOpenJDK ...对于任何异常或错误,应根据日志进行排查和修复。

    linux下tomcat7,tomcat8

    本主题将深入探讨在Linux环境下安装、配置和管理Tomcat 7与Tomcat 8的过程,以及它们之间的差异。 一、安装Java环境 在安装Tomcat之前,必须先确保系统上已经安装了Java Development Kit (JDK)。Tomcat需要Java运行...

    linux-tomcat7.0

    6. **日志和错误管理**:Tomcat的日志文件位于`logs`目录下,包括`catalina.out`、`host-manager`、`manager`等,这对于诊断和调试问题非常有用。 7. **安全设置**:为了加强安全性,你可以配置`conf/tomcat-users....

    linux版tomcat7

    8. **日志和监控**:Tomcat的日志文件位于`$CATALINA_HOME/logs`目录下,通过监控这些日志文件可以了解服务器的运行状况和错误信息。 9. **安全性**:为了安全起见,建议修改默认的管理员用户名和密码,这可以通过...

    LINUX 查找tomcat日志关键词命令

    本文将详细介绍如何在Linux环境中使用命令行工具快速定位Tomcat日志中的特定关键词。 首先,我们需要了解Linux中常用的日志文件。在Tomcat中,主要的日志文件有`catalina.out`,这是Tomcat的标准输出和错误输出,...

    tomcat5 linux 版

    7. **日志管理**:Tomcat的日志文件位于`logs`目录,包括错误日志、访问日志等,定期检查和清理有助于问题排查和资源优化。 8. **安全管理**:由于Tomcat是一个开放源码的产品,其安全性尤为重要。需要设置合适的...

    linux下Nginx+tomcat整合的安装与配置

    ### Linux下Nginx+Tomcat整合的安装与配置详解 在现代的Web服务器架构中,Nginx作为高性能的反向代理服务器和负载均衡器,常被用来与Tomcat等应用服务器配合使用,以提高网站的响应速度、稳定性和安全性。本文将...

    linux文件操作,linux下关闭tomcat失效的处理方法,linux下压缩文件

    本文将深入探讨如何在Linux环境下进行文件操作,解决Tomcat服务失效的问题,以及如何进行文件压缩。以下是对这些主题的详细阐述: 一、Linux文件操作 1. 文件与目录操作:在Linux中,文件和目录统称为文件对象。...

Global site tag (gtag.js) - Google Analytics