按道理和相关的资料表明,log4j的logger不会比system.out快的,绝对会慢一点。 至于楼主的测试!?? 我想应该是不正确的。
解决方案 »
- eclipse helios有add strusts选项吗
- jboss无法启动,无日志,不报错
- JDBC多次连接会不会对让连接池变的不稳定
- java和oracle
- JAVA做的JSP数据库网站等用什么工具做安装包
- Hibernate关联表查询的问题
- JBuilderX运行Struts出错!!!
- sql server 2000 jdbc driver访问sql server2000出错
- 哪位大侠能给个weblogic_sp.jar,或者给个链接,多谢了!
- Java在dos命令提示行编译与执行,编译能通过,但执行通过不了
- 关于html:link与logic:iterante标签嵌套的问题,这是一个很典型的应用
- 怎样处理非正常退出,如ctrl+c 点击退出按钮等,像tomcat那样。
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;public class Temp { public static void main(String[] args) {
Logger logger = Logger.getLogger("Temp");
BasicConfigurator.configure();
long a=System.currentTimeMillis();
for (int i=0;i<100000;i++){
logger.debug("aa");
}
System.out.println(System.currentTimeMillis()-a);
}
}
和import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;public class Temp { public static void main(String[] args) {
Logger logger = Logger.getLogger("Temp");
BasicConfigurator.configure();
long a=System.currentTimeMillis();
for (int i=0;i<100000;i++){
System.out.println("aa");
}
System.out.println(System.currentTimeMillis()-a);
}
}只改了中间输出的那条,多次运行,log4j最后的输出一般是5XXX,System.out的输出一般是8XXX。
用的是wsad自带的jdk,应该是1.3的,log4j是1.2.8
我的机器是笔记本,512内存,1.3迅驰。
# Set root category priority to DEBUG and its only appender to A1.
log4j.rootCategory=DEBUG, A1
# A1 is set to be a ConsoleAppender which outputs to System.out.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
不过你尝试一下用反编译软件查看源代码试一下。
有时相差好大
而且是运行完System.out的输出后,运行log,此时log数字小,单独一直运行log,log的数值大,怪我用的是J2SDK1.4.2,log4j是1.2.8
我的机器是笔记本,512内存,1.7P4。