您的位置:首页 > 其它

commons-logging-Log和Log4j的使用

2015-04-15 11:57 351 查看
先上参考----http://www.cnblogs.com/likwo/archive/2010/08/31/1813595.html 感谢~

分4部分:1.Log的单独是用。

2.log4j.properties;

3.Log4j的单独使用

4.Log+Log4j的组合使用

1、Log单独使用:载入jar包--编写代码(此处,没有设置log.properties)

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class Log4jTest {
static Log logger = LogFactory.getLog(Log4jTest.class);

public static void main(String[] args){
logger.info("info log");
logger.debug("debug info");
logger.error("err log");
logger.warn("warn log");
}

}
控制台输出结果:
四月 15, 2015 11:21:16 上午 com.ben.test.Log4jTest main
INFO: info log
四月 15, 2015 11:21:16 上午 com.ben.test.Log4jTest main
SEVERE: err log
四月 15, 2015 11:21:16 上午 com.ben.test.Log4jTest main
WARNING: warn log


2、log4j.properties:Log4j单独使用:——>l引入og4j的jar包

向上面那样直接建类是不能正确使用的,控制台输出结果:

log4j:WARN No appenders could be found for logger (com.ben.test.Log4jTest).
log4j:WARN Please initialize the log4j system properly.
必须有log4j.properties配置文件

log4j.rootLogger=INFO, ben1, ben2                //首行,最重要的信息,INFO代表输出级别,DEBUG<INFO<WARN<ERROR,即所有大于等于INFO级别的会输出<pre name="code" class="plain"><span style="white-space:pre">						</span>//ben1,ben2分别为自己设置的输出路径,在下面中可见ben1.ben2的设置
log4j.appender.ben1=org.apache.log4j.ConsoleAppender
//设置ben1输出路径为控制台log4j.appender.ben1.layout=org.apache.log4j.PatternLayout
//输出格式log4j.appender.ben1.layout.ConversionPattern=%t %d %p [%c.%M] - %m%n //输出语句格式log4j.appender.ben2=org.apache.log4j.RollingFileAppender
//ben2的输出路径为filelog4j.appender.ben2.File=log/ben.log
//输出到log路径下的ben.log文件下log4j.appender.ben2.MaxFileSize=20480KB
//file容量# Keep 20 backup files.log4j.appender.ben2.MaxBackupIndex=100
# Pattern to output: date priority [category] - messagelog4j.appender.ben2.layout=org.apache.log4j.PatternLayoutlog4j.appender.ben2.layout.ConversionPattern=%d %p [%c.%M] - %m%n


按上面的语句输出格式:输出为
2015-04-15 12:27:59,008 INFO [com.ben.test.Log4jTest.main] - info log
2015-04-15 12:27:59,008 DEBUG [com.ben.test.Log4jTest.main] - debug info
2015-04-15 12:27:59,008 ERROR [com.ben.test.Log4jTest.main] - err log
2015-04-15 12:27:59,008 WARN [com.ben.test.Log4jTest.main] - warn log
具体格式讲解参考:http://blog.csdn.net/guoquanyou/article/details/5689652

3.Log4j的单独使用测试类:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;

public class Log4jTest {
static Logger logger = Logger.getLogger(Log4jTest.class);
static{
PropertyConfigurator.configure("conf/log4j.properties");
}
public static void main(String[] args){
logger.info("info log");
logger.debug("debug info");
logger.error("err log");
logger.warn("warn log");
}

}
4.log+log4j:-->导入log和log4j的jar包。

像1,那样直接使用,会出现2的错误

必须像3一样导入log4j的设置文件:

public class Log4jTest {
static Log logger= LogFactory.getLog(Log4jTest.class);

//	static Logger logger = Logger.getLogger(Log4jTest.class);
//	static{
//		PropertyConfigurator.configure("conf/log4j.properties");
//	}
public static void main(String[] args){

logger.info("info log");
logger.debug("debug info");
logger.error("err log");
logger.warn("warn log");
}

}


这样就会正确输出;

logging Log创建会自动查找相应的工具,比如log4j,如果查找到就会是用log4j作为实现类去记录日志,如果没有查到

则会使用基本的SimpleLog去记录日志。注意,使用log4j必须使用相关的配置文件log4j.properties:::::
PropertyConfigurator.configure("conf/log4j.properties");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: