Java web添加log4j

要点:

1.打印日志到控制台和文件。

2.将指定的Java类日志输出到指定的文件。

步骤:

1.添加jar包。http://download.csdn.net/detail/xiakepan/9094753

2.添加配置文件。

log4j.properties

#可以设置级别:debug>info>error
#debug:显示debug、info、error
#info:显示info、error
#error:只error
#log4j.rootLogger=debug,appender1
#log4j.rootLogger=info,appender1
#log4j.rootLogger=error,appender1

#stdout输出到控制台
#R0输出到公共的文件
#R1只将test.Test2.java中的信息输出到一个专门的文件logs/test2/all2.log
log4j.rootCategory=debug, stdout , R0
#R1只打印Test2类中的异常,可以实现某些类中的异常新建单独文件打印。
log4j.logger.test.Test2=debug, stdout , R1
#控制台配置
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%p] %c - %m%n
#整个项目输出的文件
log4j.appender.R0=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R0.layout=org.apache.log4j.PatternLayout
log4j.appender.R0.layout.ConversionPattern=%-20d{yyyy-MM-dd HH:mm:ss} [%p](%c\:%L)(%t) - %m%n
#将头一天的日志文件名改成logs/all.log.2014-12-31
log4j.appender.R0.DatePattern='.'yyyy-MM-dd
#将日志文件放在logs/all.log中
log4j.appender.R0.File=logs/CatchNovel.log

#R1指定类输出到指定的日志文件
log4j.appender.R1=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R1.layout=org.apache.log4j.PatternLayout
log4j.appender.R1.layout.ConversionPattern=%-20d{yyyy-MM-dd HH:mm:ss} [%p](%C\:%L)(%t) - %m%n
#将头一天的日志文件名改成logs/all.log.2014-12-31
log4j.appender.R1.DatePattern='.'yyyy-MM-dd
#将日志文件放在logs/all.log中
log4j.appender.R1.File=logs/test2/test2.log

3.编写测试代码

Test.java

package test;
import org.apache.log4j.Logger;

public class Test {
	private static Logger logger = Logger.getLogger(Test.class);

	public void run() {
		// 记录debug级别的信息
		logger.debug("This is debug message.");
		// 记录info级别的信息
		logger.info("This is info message.");
		// 记录error级别的信息
		logger.error("This is error message.");
		try{
			int i = 5/0;
		}catch(Exception e){
			logger.error("打印getMessage=" + e.getMessage());
			logger.error("打印getStackTrace=" + e.getStackTrace());
			logger.error("打印e=" + e);
			logger.error("打印error(e,e)=");
			logger.error(e, e);
		}
	}

	public static void main(String[] args) {
		Test t = new Test();
		t.run();
	}
}

Test2.java

package test;
import org.apache.log4j.Logger;

public class Test2 {
	private static Logger logger = Logger.getLogger(Test2.class);

	public void run() {
		// 记录debug级别的信息
		logger.debug("This is debug message.");
		// 记录info级别的信息
		logger.info("This is info message.");
		// 记录error级别的信息
		logger.error("This is error message.");
		try{
			int i = 5/0;
		}catch(Exception e){
			logger.error("打印getMessage=" + e.getMessage());
			logger.error("打印getStackTrace=" + e.getStackTrace());
			logger.error("打印e=" + e);
			logger.error("打印error(e,e)=");
			logger.error(e, e);
		}
	}

	public static void main(String[] args) {
		Test2 t = new Test2();
		t.run();
	}
}

4.直接运行两个Java类。到项目logs目录下查看日志


红圈圈出的依次是:时间、日志级别、类路径和打印日志的行数、线程、e.getMessage日志、error(e,e)日志。

总结:我平时打印只关注debug、info、error和堆栈信息。所以只需要使用logger.debug、logger.info、logger.error、logger.error(e, e);这四个方法就行了。

目录结构:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值