diff --git a/pom.xml b/pom.xml index 709de70..22c8311 100644 --- a/pom.xml +++ b/pom.xml @@ -18,6 +18,8 @@ <httpclient.version>4.3.5</httpclient.version> <spock-core.version>1.0-groovy-2.0-SNAPSHOT</spock-core.version> <commons-lang3.version>3.3.2</commons-lang3.version> + <slf4j-api.version>1.7.7</slf4j-api.version> + <logback-classic.version>1.0.13</logback-classic.version> </properties> <dependencies> @@ -43,6 +45,16 @@ <version>${commons-lang3.version}</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-api</artifactId> + <version>${slf4j-api.version}</version> + </dependency> + <dependency> + <groupId>ch.qos.logback</groupId> + <artifactId>logback-classic</artifactId> + <version>${logback-classic.version}</version> + </dependency> </dependencies> <build> diff --git a/src/main/groovy/pl/touk/mockserver/server/ContextExecutor.groovy b/src/main/groovy/pl/touk/mockserver/server/ContextExecutor.groovy index c2bd629..dddf7b1 100644 --- a/src/main/groovy/pl/touk/mockserver/server/ContextExecutor.groovy +++ b/src/main/groovy/pl/touk/mockserver/server/ContextExecutor.groovy @@ -2,9 +2,11 @@ package pl.touk.mockserver.server import com.sun.net.httpserver.HttpExchange import groovy.transform.PackageScope +import groovy.util.logging.Slf4j import java.util.concurrent.CopyOnWriteArrayList +@Slf4j @PackageScope class ContextExecutor { private final HttpServerWraper httpServerWraper @@ -18,7 +20,7 @@ class ContextExecutor { httpServerWraper.createContext(path, { HttpExchange ex -> MockRequest request = new MockRequest(ex.requestBody.text, ex.requestHeaders, ex.requestURI) - println "Mock received input" + log.info("Mock received input") for (Mock mock : mocks) { try { if (mock.match(ex.requestMethod, request)) { diff --git a/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy b/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy index 9238e57..17898bb 100644 --- a/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy +++ b/src/main/groovy/pl/touk/mockserver/server/HttpMockServer.groovy @@ -1,6 +1,7 @@ package pl.touk.mockserver.server import com.sun.net.httpserver.HttpExchange +import groovy.util.logging.Slf4j import groovy.util.slurpersupport.GPathResult import groovy.xml.MarkupBuilder @@ -9,6 +10,7 @@ import java.util.concurrent.CopyOnWriteArraySet import static pl.touk.mockserver.server.Util.createResponse +@Slf4j class HttpMockServer { private final HttpServerWraper httpServerWraper @@ -101,7 +103,7 @@ class HttpMockServer { if (!(name in mockNames)) { throw new RuntimeException('mock not registered') } - println "Removing $name" + log.info("Removing mock $name") List<MockEvent> mockEvents = childServers.collect { it.removeMock(name) }.flatten() mockNames.remove(name) StringWriter sw = new StringWriter() diff --git a/src/main/groovy/pl/touk/mockserver/server/HttpServerWraper.groovy b/src/main/groovy/pl/touk/mockserver/server/HttpServerWraper.groovy index d8847ca..6c03051 100644 --- a/src/main/groovy/pl/touk/mockserver/server/HttpServerWraper.groovy +++ b/src/main/groovy/pl/touk/mockserver/server/HttpServerWraper.groovy @@ -3,9 +3,11 @@ package pl.touk.mockserver.server import com.sun.net.httpserver.HttpHandler import com.sun.net.httpserver.HttpServer import groovy.transform.PackageScope +import groovy.util.logging.Slf4j import java.util.concurrent.Executors +@Slf4j @PackageScope class HttpServerWraper { private final HttpServer httpServer @@ -18,9 +20,9 @@ class HttpServerWraper { InetSocketAddress addr = new InetSocketAddress(Inet4Address.getByName("0.0.0.0"), port) httpServer = HttpServer.create(addr, 0) httpServer.executor = Executors.newCachedThreadPool() - println("Http server statrting on port $port...") + log.info("Http server statrting on port $port...") httpServer.start() - println('Http server is started') + log.info('Http server is started') } void createContext(String context, HttpHandler handler) { @@ -34,7 +36,7 @@ class HttpServerWraper { } else { executors << new ContextExecutor(this, mock) } - println "Added mock ${mock.name}" + log.info("Added mock ${mock.name}") } void stop() { diff --git a/src/main/groovy/pl/touk/mockserver/server/Main.groovy b/src/main/groovy/pl/touk/mockserver/server/Main.groovy index 0923ba9..154eefe 100644 --- a/src/main/groovy/pl/touk/mockserver/server/Main.groovy +++ b/src/main/groovy/pl/touk/mockserver/server/Main.groovy @@ -1,13 +1,16 @@ package pl.touk.mockserver.server +import groovy.util.logging.Slf4j + +@Slf4j class Main { static void main(String[] args) { HttpMockServer httpMockServer = new HttpMockServer() Runtime.runtime.addShutdownHook(new Thread({ - println 'Http server is stopping...' + log.info('Http server is stopping...') httpMockServer.stop() - println 'Http server is stopped' + log.info('Http server is stopped') } as Runnable)) while (true) { diff --git a/src/main/groovy/pl/touk/mockserver/server/Mock.groovy b/src/main/groovy/pl/touk/mockserver/server/Mock.groovy index 33e9c3c..5408c15 100644 --- a/src/main/groovy/pl/touk/mockserver/server/Mock.groovy +++ b/src/main/groovy/pl/touk/mockserver/server/Mock.groovy @@ -2,11 +2,13 @@ package pl.touk.mockserver.server import groovy.transform.EqualsAndHashCode import groovy.transform.PackageScope +import groovy.util.logging.Slf4j import java.util.concurrent.CopyOnWriteArrayList @PackageScope @EqualsAndHashCode(excludes = ["counter"]) +@Slf4j class Mock implements Comparable<Mock> { final String name final String path @@ -34,7 +36,7 @@ class Mock implements Comparable<Mock> { } MockResponse apply(MockRequest request) { - println "Mock $name invoked" + log.debug("Mock $name invoked") ++counter String responseText = response(request) String response = soap ? wrapSoap(responseText) : responseText diff --git a/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy b/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy index 1fd932a..22e656a 100644 --- a/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy +++ b/src/test/groovy/pl/touk/mockserver/tests/ServerMockPT.groovy @@ -46,7 +46,7 @@ class ServerMockPT extends Specification { threads*.start() Thread.sleep(60000) then: - responses.eachWithIndex { res, i -> println "Checking $i"; assert res.name() == "goodResponse$i" } + responses.eachWithIndex { res, i -> assert res.name() == "goodResponse$i" } cleanup: httpMockServer.stop() }