zoukankan      html  css  js  c++  java
  • Tomcat日志、项目中的log4j日志、e.printStackTrace()——我的日志最后到底跑哪去了?

    原文链接: https://www.cnblogs.com/flying607/articles/6293995.html, 感谢原作者

    1、Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志。

    2、你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat日志无关。

    ——如果你项目中的log4j指定打印到控制台,并且你开启的tomcat有控制台,那么这个时候你可以在控制台观察到日志。

    ——如果你用log4j来处理了Tomcat的日志(具体需要你自己配置tomcat的配置文件),那么Tomcat便会使用log4j来打印,但是这和你项目中的log4j仍然不是同一个log4j。

    3、关于异常日志的打印

    如果你在你的项目中处理了某个异常:

            try {
                int i = 1/0;
            }catch(Exception e) {
                e.printStackTrace();
            }

      A、那么这个异常信息会打印到你的控制台。你说你没有开控制台,是用服务的形式跑的?那么这个异常的信息你就看不见了。

      B、你在你的项目中直接throw的,并且没有任何地方处理这个异常,那么最后这个异常会被抛给你的容器——Tomcat,Tomcat这时会在localhost.日期.log文件中记录这个异常。

      C、你使用的是log4j:

    LogFactory.getLog(Logger.class).error("Thread:"+i+"-print:"+j+"-CurrentThread:"+Thread.currentThread());

      那么你应该去看看你的log4j配置文件中,看看里面写的要把这条错误信息打印在哪。

      ——如果是打印到控制台,那么就去控制台找。如果没有控制台,那么这个错误信息也就丢了。

      ——如果是写入某个文件,那当然就是在你的文件中了。

  • 相关阅读:
    最全的ASP.NET开源CMS汇总
    excel学习range
    多线程写文件异常(正由另一进程使用,因此该进程无法访问该文件)的解决方法
    EXCEL之Range,cells,offset,end用法
    天佑中华
    敏捷测试感悟(之二)
    4月份到上海出差
    《Google API大全:编程·开发·实例》一书将在本周末的GDD(Google开发者大会)上首发
    敏捷测试感悟(之一)
    拿到了TD的3G测试手机
  • 原文地址:https://www.cnblogs.com/daixianjun/p/log-StackTrace.html
Copyright © 2011-2022 走看看