diff --git a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java index 3571aaa06dadbd585cbb1e5d32eea766e9beb5b3..fc38edfeebf34ccb3b7052e02834835690cde687 100644 --- a/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java +++ b/skywalking-sniffer/skywalking-api/src/main/java/com/a/eye/skywalking/api/logging/WriterFactory.java @@ -3,9 +3,6 @@ package com.a.eye.skywalking.api.logging; import com.a.eye.skywalking.api.conf.Config; public class WriterFactory { - private WriterFactory(){ - } - public static IWriter getLogWriter(){ if (Config.SkyWalking.IS_PREMAIN_MODE){ return SyncFileWriter.instance(); diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f4f6077b6cdf8f3e6dacc09001218e6c0e736009 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLogResolverTest.java @@ -0,0 +1,14 @@ +package com.a.eye.skywalking.api.logging; + +import org.junit.Assert; +import org.junit.Test; + +/** + * Created by wusheng on 2017/2/28. + */ +public class EasyLogResolverTest { + @Test + public void testGetLogger(){ + Assert.assertTrue(new EasyLogResolver().getLogger(EasyLogResolverTest.class) instanceof EasyLogger); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java new file mode 100644 index 0000000000000000000000000000000000000000..0e6cd274c38d5d0e06d4db452c7225e7983dd9ed --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/EasyLoggerTest.java @@ -0,0 +1,64 @@ +package com.a.eye.skywalking.api.logging; + +import com.a.eye.skywalking.api.conf.Config; +import java.io.PrintStream; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +import static org.mockito.Matchers.anyString; +import static org.mockito.Mockito.times; + +/** + * Created by wusheng on 2017/2/28. + */ +public class EasyLoggerTest { + private static PrintStream outRef; + private static PrintStream errRef; + + @BeforeClass + public static void initAndHoldOut(){ + outRef = System.out; + errRef = System.err; + } + + @Test + public void testLog(){ + Config.SkyWalking.IS_PREMAIN_MODE = false; + + PrintStream output = Mockito.mock(PrintStream.class); + System.setOut(output); + PrintStream err = Mockito.mock(PrintStream.class); + System.setErr(err); + EasyLogger logger = new EasyLogger(EasyLoggerTest.class); + + Assert.assertTrue(logger.isDebugEnable()); + Assert.assertTrue(logger.isInfoEnable()); + Assert.assertTrue(logger.isWarnEnable()); + Assert.assertTrue(logger.isErrorEnable()); + + logger.debug("hello world"); + logger.debug("hello {}", "world"); + logger.info("hello world"); + logger.info("hello {}", "world"); + + logger.warn("hello {}", "world"); + logger.warn("hello world"); + logger.error("hello world"); + logger.error("hello world", new NullPointerException()); + logger.error(new NullPointerException(),"hello {}", "world"); + + Mockito.verify(output,times(4)) + .println(anyString()); + Mockito.verify(err,times(7)) + .println(anyString()); + } + + @AfterClass + public static void reset(){ + System.setOut(outRef); + System.setErr(errRef); + } +} diff --git a/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java new file mode 100644 index 0000000000000000000000000000000000000000..eec580928a95edccdff1539400afb73333bf1e27 --- /dev/null +++ b/skywalking-sniffer/skywalking-api/src/test/java/com/a/eye/skywalking/api/logging/WriterFactoryTest.java @@ -0,0 +1,42 @@ +package com.a.eye.skywalking.api.logging; + +import com.a.eye.skywalking.api.conf.Config; +import java.io.PrintStream; +import org.junit.AfterClass; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; +import org.mockito.Mockito; + +/** + * Created by wusheng on 2017/2/28. + */ +public class WriterFactoryTest { + private static PrintStream errRef; + + @BeforeClass + public static void initAndHoldOut(){ + errRef = System.err; + } + + /** + * During this test case, + * reset {@link System#out} to a Mock object, for avoid a console system.error. + */ + @Test + public void testGetLogWriter(){ + Config.SkyWalking.IS_PREMAIN_MODE = true; + PrintStream mockStream = Mockito.mock(PrintStream.class); + System.setErr(mockStream); + Assert.assertEquals(SyncFileWriter.instance(), WriterFactory.getLogWriter()); + + Config.SkyWalking.IS_PREMAIN_MODE = false; + Assert.assertTrue(WriterFactory.getLogWriter() instanceof STDOutWriter); + } + + @AfterClass + public static void reset(){ + Config.SkyWalking.IS_PREMAIN_MODE = false; + System.setErr(errRef); + } +}