微信登陆超时 重新登录
我已经写在此之前这里 。 为了理解当前文章,阅读本书并不是强制性的,但可以粗略地看一下它,以设置本文的上下文。
 
 文件:MavenCommands.bat
call mvn archetype:create ^-DarchetypeGroupId=org.apache.maven.archetypes ^-DgroupId=org.academy ^-DartifactId=logger不幸的是,它已经预装了JUnit3。我设置了JUnit 4,还添加了Contiperf,以便可以多次运行测试-如果要检查性能,这将很方便。
文件:/logger/pom.xml
[...]UTF-84.102.2.0[...]                           [...]junitjunit${junit.version}testorg.databenecontiperf${contiperf.version}test另外,我想显式控制用于编译和执行代码的Java版本。
文件:/logger/pom.xml
[...]2.0.21.7[...]org.apache.maven.pluginsmaven-compiler-plugin${maven-compiler-plugin.version}${java.version}                        ${java.version}最后的配置–暂时。 随心所欲地运行单元测试。
文件:/logger/pom.xml
[...]2.12[...]org.apache.maven.pluginsmaven-surefire-plugin${maven-surefire-plugin.version}org.apache.maven.surefiresurefire-junit47${maven-surefire-plugin.version}-XX:-UseSplitVerifier请注意,我竭尽全力将所有这些依赖项及其版本添加到本文中,以确保您自己尝试一下,您确切知道我的测试的软件配置是什么。
现在,让我们最后添加单元测试。
文件:/logger/src/test/java/org/academy/AppTest.java
public class AppTest {                                 private final static Logger logger = LoggerFactory .getLogger(AppTest.class);                 @Rule                                              public ContiPerfRule i = new ContiPerfRule();      @Test                                              @PerfTest(invocations = 10, threads = 1)           @Required(max = 1200, average = 1000)              public void test() {                         for(int i = 0; i<10000 ; i++){          logger.debug("Hello {}", "world.");        }                                              }                                                  
}因此,我们在单元测试中使用了logger,但未添加logger的实现。 我打算做的是一个接一个地添加log4j(带有slf4j)和logback(带有slf4j的固有支持),并多次运行此简单测试以比较性能。
要添加log4j,我使用了此设置。
文件:/logger/pom.xml
org.slf4jslf4j-api${slf4j.version}org.slf4jjcl-over-slf4j${slf4j.version}runtimeorg.slf4jslf4j-log4j12${slf4j.version}runtime对于登录,我使用了此设置。
文件:/logger/pom.xml
ch.qos.logbacklogback-classic${logback.version}具有以下版本。
文件:/logger/pom.xml
1.6.11.0.6为了使这两个记录器框架中的任何一个都能实际记录任何内容,您必须添加一个文件,告诉记录器要记录什么以及在何处记录。
文件:src / main / resources / log4j.properties
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1# configure A1 to spit out data in console
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout 
log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n| 构架 | 第一轮 | 第二次 | 第三轮 | 
|---|---|---|---|
| 退回 | 0.375秒 | 0.375秒 | 0.406秒 | 
| Log4j | 0.454秒 | 0.453秒 | 0.454秒 | 
参考:在Tech for Enterprise博客上,从我们的JCG合作伙伴 Partho 重新获得了日志记录 。
翻译自: https://www.javacodegeeks.com/2012/07/logback-logging-revisited.html
微信登陆超时 重新登录