机器环境:腾讯云2核4G服务器
jvm配置:-XX:MetaspaceSize=256M -Xms2048m -Xmx2048m -Xmn682m -XX:SurvivorRatio=8 -server -XX:ParallelGCThreads=4
log4j2版本:2.6.2
logback版本:1.2.3
测试代码:
//import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
//@Slf4j
@RestController
@RequestMapping("/test/")
public class TestController {
public static Logger logger = LoggerFactory.getLogger(TestController.class);
@GetMapping("/A1")
public void test(Integer max) {
int len = max == null ? 100000 : max;
long l = System.currentTimeMillis();
for (int i = 0; i < len; i++) {
logger.debug(i + "");
}
logger.info(System.currentTimeMillis() - l + "");
}
}
测试结果如下:
总结:在打印次数不多的情况下,两者相比差距不大。log4j2在打印次数较多的情况下,比logback稍微有点优势,但是优势也并不是很大。