先上参考----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");