java工程的日志的配置和使用

先清楚俩概念:

Logger.getLogger()是使用log4j的方式记录日志;LogFactory.getLog()则来自apache的common-logging包。

common-logging的使用:
1、将common-logging.jar包放在java工程的build path中,即可。
2、示例程序:
/**
 *直接在控制台打印
 */
public class LogTest {
	public static Log log=LogFactory.getLog(LogTest.class); 
	public static void test() 	{ 
	log.debug("111"); 
	log.info("125"); 
	log.warn("485"); 
	log.error("error"); 
	} 	
	public static void main(String[] args) {
		LogTest.test();
	}
}

打印结果如下:
2013-6-28 10:31:06 LogTest test
信息: 125
2013-6-28 10:31:06 LogTest test
警告: 485
2013-6-28 10:31:06 LogTest test
严重: error


log4j的使用:
下载地址: http://www.findjar.com/jar/log4j/log4j/1.2.11/log4j-1.2.11.jar.html
1、将log4j.jar包放在java工程的build path中。
2、在工程根目录下添加 log4j.properties文件,并配置,配置可参考网上各种资料,给一个简单的例子:
### set log levels ###
log4j.rootLogger = debug,stdout,D

### 输出到控制台 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{1}:%L - %m%n

### 输出到日志文件 ###
log4j.appender.D = org.apache.log4j.FileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
###指定日志消息的输出最低层次,输出DEBUG级别以上的日志###
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

3、新建类 Log4jTest.java,代码如下:

import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class Log4jTest {
	
	public static void main(String args[]) { 
		   PropertyConfigurator.configure("log4j.properties");
	       Logger logger  =  Logger.getLogger(Log4jTest.class );
	       logger.debug( " debug " );
	       logger.error( " error " );	
	       logger.info("info message");
	   }
}

4、查看结果,在文件夹logs下面的log.log中有如下信息:
2013-06-28 16:05:47  [ main:0 ] - [ DEBUG ]   debug 
2013-06-28 16:05:47  [ main:2 ] - [ ERROR ]   error 
2013-06-28 16:05:47  [ main:3 ] - [ INFO ]  info message

在使用 log4j.properties文件中的内容报错误: log4j:ERROR Category option " 1 " not a decimal integer.解决方案如下:

log4j.properties 的配置文件中:

log4j.appender.stdout.layout.ConversionPattern =  %d{ABSOLUTE} %5p %c{ 1 }:%L - %m%n

把{1}中的空格去掉。


资料: http://my.oschina.net/zwtlong/blog/99715
           http://cat0425.popo.blog.163.com/blog/static/7959643920100125014792/           
         http://www.cnblogs.com/snowberg/archive/2012/02/18/2468544.html
         【推荐】 http://www.cnblogs.com/huc87/archive/2010/06/29/1767347.html

log4j切换到logback: http://www.cnblogs.com/FlameRen/archive/2013/04/15/3021753.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值