谁能帮下谢谢?比如程序出Java heap space或被人为的关闭``我记录他的时间!
现在不知道如何获取这个信息`谁能帮下谢谢!

解决方案 »

  1.   

    Java heap space
    你指的是内存溢出或者core dump导致tomcat异常退出吧,
    这种情况,由于有太多不可预测的因素,是程序自身出现了无法被捕获的错误,我想是没有办法记录东西的。
    期待高人看能不能做到这一点。而至于人为关闭tomcat,你可以在自己的web应用中,加入一个context listener:
    public class ContextUnloadListener implements ServletContextListener {
    public void contextDestroyed(ServletContextEvent arg0) {
        //请在这里记录时间,只有当前web应用被销毁的时候,才会触发此方法
            }
    }
    在web.xml中使用此listener:
            <listener>
    <listener-class>com.你的包路径.ContextUnloadListener</listener-class>
    </listener>
      

  2.   


    谢谢```Java heap space 我还是想把他给获取到`
      

  3.   

    qu jian chan widows de log?
      

  4.   

    Tomcat人为关闭的话可以用个Servlet记录启动和正常关闭的时间。servlet有初始化init和distory方法,在里面用Log4j记录时间就行了吧,要把servlet设置为自动启动
      

  5.   

    在tomcat的配置文件中设置记录使用时间
      

  6.   

    确实原因很多啊
    用log4j可以的吧
    我觉得可以
      

  7.   

    人为停除了 listener
    还可以看日志 那个logs 下的C.... .out 文件溢出服务器挂掉后
    或要想在JVM关闭的时候,来执行程序的一些操作,
    比如:保存一些该保存的日志,数据等,我们可以利用JDK提供的ShutdownHook钩子来实现