From 70d8ffce4693a967933bd2cb3cdf935f8e2dd983 Mon Sep 17 00:00:00 2001 From: sunj13 Date: Tue, 15 Nov 2022 23:22:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=9B=B6=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/encodings.xml | 1 - pom.xml | 7 ++- .../sheepedu/ConsoleLoggerReportVisitor.java | 59 ++++++++++++++----- .../logback/CustomerConfigurator.java | 15 +++-- .../com/gitee/sheepedu/LoggerColorTest.java | 6 +- 5 files changed, 61 insertions(+), 27 deletions(-) diff --git a/.idea/encodings.xml b/.idea/encodings.xml index 3c301b7..0042e53 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -5,7 +5,6 @@ - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 47f3dea..604e568 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.gitee.sheepedu jacoco-plus-maven-plugin - 1.1.0-SNAPSHOT + 1.2.0 maven-plugin jacoco-plus-maven-plugin @@ -23,7 +23,7 @@ 3.0.22 1.2.1 1.7.26 - 1.2.3 + 1.2.11 5.7.2 4.12 @@ -115,6 +115,8 @@ test + + @@ -143,6 +145,7 @@ + diff --git a/src/main/java/com/gitee/sheepedu/ConsoleLoggerReportVisitor.java b/src/main/java/com/gitee/sheepedu/ConsoleLoggerReportVisitor.java index b99dd57..45d919c 100644 --- a/src/main/java/com/gitee/sheepedu/ConsoleLoggerReportVisitor.java +++ b/src/main/java/com/gitee/sheepedu/ConsoleLoggerReportVisitor.java @@ -46,44 +46,73 @@ public class ConsoleLoggerReportVisitor implements IReportVisitor { } public void visitBundle(IBundleCoverage bundle, ISourceFileLocator locator) throws IOException { - if(logger.isInfoEnabled()){ + logger.info("name:"+bundle.getName()); - logger.info("name:"+bundle.getName()); - - ICounter classCounter = bundle.getClassCounter(); + ICounter classCounter = bundle.getClassCounter(); + int totalCount = classCounter.getTotalCount(); + if(totalCount == 0){ + logger.warn("Class totalCount equals 0"); + }else { BigDecimal classCoverage = new BigDecimal(classCounter.getCoveredCount()) - .divide(new BigDecimal(classCounter.getTotalCount()),2, BigDecimal.ROUND_HALF_DOWN) + .divide(new BigDecimal(totalCount),2, BigDecimal.ROUND_HALF_DOWN) .multiply(new BigDecimal(100)); logger.info("ClassCoverage:"+ classCoverage.toString()+"%"); + } + + + ICounter methodCounter = bundle.getMethodCounter(); + int methodCounterTotalCount = methodCounter.getTotalCount(); - ICounter methodCounter = bundle.getMethodCounter(); + if(methodCounterTotalCount == 0){ + logger.warn("Method totalCount equals 0"); + }else{ BigDecimal methodCoverage = new BigDecimal(methodCounter.getCoveredCount()) - .divide(new BigDecimal(methodCounter.getTotalCount()),2,BigDecimal.ROUND_HALF_DOWN) + .divide(new BigDecimal(methodCounterTotalCount),2,BigDecimal.ROUND_HALF_DOWN) .multiply(new BigDecimal(100));; logger.info("MethodCoverage:"+ methodCoverage.toString()+"%"); + } - ICounter lineCounter = bundle.getLineCounter(); + ICounter lineCounter = bundle.getLineCounter(); + int lineCounterTotalCount = lineCounter.getTotalCount(); + if(lineCounterTotalCount == 0){ + logger.warn("Line totalCount equals 0"); + }else { BigDecimal lineCoverage = new BigDecimal(lineCounter.getCoveredCount()) - .divide(new BigDecimal(lineCounter.getTotalCount()),2, BigDecimal.ROUND_HALF_DOWN) + .divide(new BigDecimal(lineCounterTotalCount),2, BigDecimal.ROUND_HALF_DOWN) .multiply(new BigDecimal(100));; logger.info("LineCoverage:"+ lineCoverage.toString()+"%"); + } - ICounter complexityCounter = bundle.getComplexityCounter(); + ICounter complexityCounter = bundle.getComplexityCounter(); + int complexityCounterTotalCount = complexityCounter.getTotalCount(); + if(complexityCounterTotalCount == 0){ + logger.warn("Complexity totalCount equals 0"); + }else { BigDecimal complexityCoverage = new BigDecimal(complexityCounter.getCoveredCount()) - .divide(new BigDecimal(complexityCounter.getTotalCount()),2, BigDecimal.ROUND_HALF_DOWN) + .divide(new BigDecimal(complexityCounterTotalCount),2, BigDecimal.ROUND_HALF_DOWN) .multiply(new BigDecimal(100));; logger.info("ComplexityCoverage:"+ complexityCoverage.toString()+"%"); + } - ICounter branchCounter = bundle.getBranchCounter(); + ICounter branchCounter = bundle.getBranchCounter(); + int branchCounterTotalCount = branchCounter.getTotalCount(); + if(branchCounterTotalCount == 0){ + logger.warn("Branch totalCount equals 0"); + }else { BigDecimal branchCoverage = new BigDecimal(branchCounter.getCoveredCount()) - .divide(new BigDecimal(branchCounter.getTotalCount()),2, BigDecimal.ROUND_HALF_DOWN) + .divide(new BigDecimal(branchCounterTotalCount),2, BigDecimal.ROUND_HALF_DOWN) .multiply(new BigDecimal(100));; logger.info("BranchCoverage:"+ branchCoverage.toString()+"%"); + } - ICounter instructionCounter = bundle.getInstructionCounter(); + ICounter instructionCounter = bundle.getInstructionCounter(); + int instructionCounterTotalCount = instructionCounter.getTotalCount(); + if(instructionCounterTotalCount == 0){ + logger.warn("Instruction totalCount equals 0"); + }else { BigDecimal instructionCoverage = new BigDecimal(instructionCounter.getCoveredCount()) - .divide(new BigDecimal(instructionCounter.getTotalCount()),2, BigDecimal.ROUND_HALF_DOWN) + .divide(new BigDecimal(instructionCounterTotalCount),2, BigDecimal.ROUND_HALF_DOWN) .multiply(new BigDecimal(100));; logger.info("InstructionCoverage:"+ instructionCoverage.toString()+"%"); } diff --git a/src/main/java/com/gitee/sheepedu/logback/CustomerConfigurator.java b/src/main/java/com/gitee/sheepedu/logback/CustomerConfigurator.java index 7402628..2c6b057 100644 --- a/src/main/java/com/gitee/sheepedu/logback/CustomerConfigurator.java +++ b/src/main/java/com/gitee/sheepedu/logback/CustomerConfigurator.java @@ -3,14 +3,15 @@ package com.gitee.sheepedu.logback; import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; -import ch.qos.logback.classic.PatternLayout; +import ch.qos.logback.classic.encoder.PatternLayoutEncoder; import ch.qos.logback.classic.spi.Configurator; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.ConsoleAppender; import ch.qos.logback.core.Context; -import ch.qos.logback.core.encoder.LayoutWrappingEncoder; import ch.qos.logback.core.status.Status; +import java.nio.charset.Charset; + /** * CustomerConfigurator * @@ -29,11 +30,10 @@ public class CustomerConfigurator implements Configurator{ // ca.setWithJansi(true); ca.setContext(lc); ca.setName("console"); - LayoutWrappingEncoder encoder = new LayoutWrappingEncoder(); - encoder.setContext(lc); - - PatternLayout layout = new PatternLayout(); + PatternLayoutEncoder layout = new PatternLayoutEncoder(); + layout.setCharset(Charset.forName("UTF-8")); + layout.setOutputPatternAsHeader(true); String tag = LoggerColorEnums.getTagByName(color); if(tag == null){ layout.setPattern("[%thread] %-5level %msg %n"); @@ -43,9 +43,8 @@ public class CustomerConfigurator implements Configurator{ layout.setContext(lc); layout.start(); - encoder.setLayout(layout); - ca.setEncoder(encoder); + ca.setEncoder(layout); ca.start(); if(loggerName == null){ diff --git a/src/test/java/com/gitee/sheepedu/LoggerColorTest.java b/src/test/java/com/gitee/sheepedu/LoggerColorTest.java index 24f607d..802d037 100644 --- a/src/test/java/com/gitee/sheepedu/LoggerColorTest.java +++ b/src/test/java/com/gitee/sheepedu/LoggerColorTest.java @@ -4,6 +4,9 @@ import com.gitee.sheepedu.logback.LogbackServiceProvider; import org.junit.jupiter.api.Test; import org.slf4j.Logger; +import java.io.IOException; +import java.nio.charset.StandardCharsets; + /** * LoggerColorTest * @@ -16,10 +19,11 @@ public class LoggerColorTest { @Test public void test(){ - LogbackServiceProvider.setColorName("red"); + LogbackServiceProvider.setColorName("yellow"); LogbackServiceProvider.setLoggerName(ConsoleLoggerReportVisitor.class.getName()); LogbackServiceProvider instance = LogbackServiceProvider.getInstance(); logger = instance.getLoggerFactory().getLogger(ConsoleLoggerReportVisitor.class.getName()); logger.info("logger-color"); } + } -- Gitee