Tomcat日志、项目中的log4j日志、控制台——我的日志最后到底跑哪去了?

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里的控制台上有那么多日志,你要搞清楚他们不是同一个日志记录器写的。

时间: 2024-10-05 15:39:04

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

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

简介: Log4j是Apache的一个开放源代码项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件.甚至是套接口服务器.NT的事件记录器.UNIX Syslog守护进程等:我们也可以控制每一条日志的输出格式:通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程.最令人感兴趣的就是,这些可以通过一个配置文件来灵活地进行配置,而不需要修改应用的代码. 官方站点:http://logging.apache.org/log4j/ Log4j配置: 第一步:

在tomcat或许项目中引进最新版的C3P0的

一.JNDI(项目比较常用,最简单,与代码无相关) 1)在tomcat或许项目中引进最新版的C3P0的JAR包(我是用的是c3p0-0.9.2.1.jar) 假如发动时报类没有找到:Caused by: java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector, 则需求参加mchange-commons-java-0.2.3.4.jar. 2)修改tomcat中的数据源装备,如下: <Resource name="jdbc/

在Spring的项目中配置Log4j存放日志文件到指定目录下

在Spring中使用LOG4J为日志输出的插件已有一段日子了,但有时候发现日志文件虽然是已经在根据自己的理想存放了,但还会有些莫名其妙的项目日志文件出现tomcat内(因为项目的日志文件都以项目命名嘛,所以比较容易区分这些log).这些令我纠结的日志文件,让我在改善一下LOG4J的配置.才发现,之前用的配置方式真是弱爆了. 1.先说自己比较理想的存放日志路径. 我比较喜欢把日志文件放在项目的WEB-INF下,然后当然有个文件夹叫logs.logs相信很多人都会存在在这样的目录下,但放在WEB-I

在java项目中使用log4j的实例

测试log4j的项目结构 Log4j.properties的路径为    src/config/log4j Log4j.properties文件的内容 下面定义日志输出级别是 INFO,并且配置了2个输出目的地,一个是A3,一个是console log4j.rootLogger = INFO,A3,CONSOLE //日志最低的输出级别 log4j.appender.A3.Threshold=INFO log4j.appender.A3.encoding=UTF-8 //每天产生一个文件Dail

Java项目中使用Log4J

Log4J下载 官网:http://logging.apache.org/log4j/ Log4J 1.2下载地址:http://logging.apache.org/log4j/1.2/download.html 使用步骤 拷贝Log4J jar包到项目,并加入Build Path 创建配置文件log4j.properties 在程序main函数中加载配置文件:PropertyConfigurator.configure("log4j.properties"); 创建log实例:Lo

项目中添加Log4J支持

首先,在项目中的classes 中新建立一个log4j.properties文件即可: 在实际编程时,要使Log4j真正在系统中运行事先还要对配置文件进行定义.定义步骤就是对Logger.Appender及Layout的分别使用.Log4j支持两种配置文件格式,一种是XML格式的文件,一种是java properties(key=value)[Java特性文件(键=值)].(这里只说明properties文件) 1.配置根Logger 其语法为: log4j.rootLogger = [ lev

在Spring项目中使用Log4j记录日志

(1)引入log4j的jar包: 官网下载地址:http://logging.apache.org/log4j/1.2/download.html (2)在web.xml中添加log4j配置: 1 2 3 4 5 6 7 8 <context-param>     <param-name>log4jConfigLocation</param-name>     <param-value>classpath:log4j.properties</param

Idea中运行spark消除控制台的info日志输出的方法

这个样子看的很烦 方法: 找到自己的log4j.properties.template文件,把它放到项目的src/main/resources/下 log4j.properties.template的话,一般在spark的conf下面将第一行的log4j.rootCategory=INFO, console改成log4j.rootCategory=ERROR, console,只显示ERROR级别的日志. 拷贝出来直接放至/src/main/resources/下 不想下的话,这是我的 链接:h

重做日志缓冲中的内容何时刷新到重做日志文件中

1 master thread 每一秒将重做日志缓冲刷新到重做日志文件; 2 每个事务提交时 3 当重做日志缓冲池剩余空间小于1/2时