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配置文件中,看看里面写的要把这条错误信息打印在哪。

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

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

4、控制台

Tomcat默认也会往控制台输出日志,这部分日志和其catalina.日期.log文件中记录的是一致的。

程序中的syso、e.printStackTrace(),以及log4j如果配置的往控制台输出日志,那么他们全部都会出现在控制台上,

别看你eclipse里的控制台上有那么多日志,你要搞清楚他们不是同一个日志记录器写的。

Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?的更多相关文章

  1. Tomcat日志、项目中的log4j日志、e.printStackTrace()——我的日志最后到底跑哪去了?

    1.Tomcat自带日志功能,即时你的项目中有log4j也不会影响到Tomcat自己记录日志. 2.你的项目中的log4j中的日志指定打印到什么地方(控制台或者文件),便会打印到什么地方,和Tomat ...

  2. Java中使用Log4j记录错误、输出日志

    简介: Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进 ...

  3. windows系统下,express构建的node项目中,如何用debug控制调试日志

    debug是一款控制日志输出的库,可以在开发调试环境下打开日志输出,生产环境下关闭日志输出.这样比console.log方便多了,console.log只有注释掉才能不输出. debug库还可以根据d ...

  4. Spring Boot中对log4j进行多环境不同日志级别的控制

    之前介绍了在<Spring boot中使用log4j记录日志>,仅通过log4j.properties对日志级别进行控制,对于需要多环境部署的环境不是很方便,可能我们在开发环境大部分模块需 ...

  5. ASP.NET MVC Web项目中使用Log4Net记录日志,并按照日志类型分文件存储

    1.创建MvcLog4Net项目 2.创建 空的MVC项目 3.项目创建完成的效果 4.选择项目,点击鼠标右键,在弹出菜单中选择“管理解决方案的 NuGet 程序包” 5. 在NuGet浏览界面: 点 ...

  6. 在java项目中使用log4j的实例

    测试log4j的项目结构 Log4j.properties的路径为    src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个 ...

  7. 项目中添加Log4J支持

    首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Append ...

  8. 解决tomcat部署项目中碰到的几个问题

    在tomcat上部署项目并进行测试,经常会碰到各种问题.在不同的操作系统上部署,对问题的解决也会有一些差异. 1 发现问题 1.1 项目部署 先将项目达成war包,放到tomcat的webapps目录 ...

  9. Java项目中使用Log4J

    Log4J下载 官网:http://logging.apache.org/log4j/ Log4J 1.2下载地址:http://logging.apache.org/log4j/1.2/downlo ...

随机推荐

  1. Python开发基础-Day13模块2

    sys模块 sys模块提供了一系列有关Python运行环境的变量和函数. #重点记忆 sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit(n) #退出执行的程序未见,正 ...

  2. [BZOJ4898] [Apio2017]商旅

    [BZOJ4898] [Apio2017]商旅 传送门 试题分析 考虑两个点之间的路径,显然如果交易的话肯定选\(S_{t,i}-B_{s,i}\)最大的. 那么我们可以先用\(Cost\)把两个点的 ...

  3. BZOJ 2654 tree(二分答案+并查集)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2654 [题目大意] 给你一个无向带权连通图,每条边是黑色或白色. 让你求一棵最小权的恰 ...

  4. 课堂作业-Bag类的实现

    课堂作业-Bag类的实现 要求: 代码运行在命令行中,路径要体现学号信息,IDEA中,伪代码要体现个人学号信息 参见Bag的UML图,用Java继承BagInterface实现泛型类Bag,并对方法进 ...

  5. Python学习札记

    Python是很多公司都在使用的一种脚本语言,其语法与Perl.C++.JAVA等都大同小异.本文仅对一些比较常用的语法结构进行总结,比如字典.列表.正则匹配.读写文件等.供广大喜爱Python的同学 ...

  6. 深度学习的GDB调试命令和经验记录

    调试的指令很简单: cd $CAFFE_ROOT, 1. gdb ./build/tools/caffe 2. 设置运行参数 set args train --solver=xxxxsolver.pr ...

  7. JavaScript继承方式

    我的上一篇随笔中写了有关原型继承的,下面介绍几种更加有用的. 借用构造函数 在解决原型中关于引用类型值所带来的问题,开发人员开始使用一种叫做借用构造函数. 基本思想: 在子类型构造函数的内部调用超类型 ...

  8. hibernate使用原生SQL查询

    以下是Demo测试Hibernate 原生SQL查询: import java.util.Iterator; import java.util.List; import java.util.Map; ...

  9. __FILE__,__LINE__,FUNCTION__实现代码跟踪调试

    转:http://www.cnitblog.com/zouzheng/archive/2007/08/31/32691.aspx 先看下简单的初始代码:注意其编译运行后的结果. root@xuanfe ...

  10. 从connect到express02-中间件morgan

    控制台输出请求日志 输出格式 默认格式: dev, combined, tiny等 自定义格式: morgan(':method :url :status :res[content-length] - ...