diff --git a/build.gradle b/build.gradle index c75e35f..442d027 100644 --- a/build.gradle +++ b/build.gradle @@ -15,6 +15,8 @@ dependencies { implementation 'com.google.code.gson:gson:2.8.8' implementation 'org.slf4j:slf4j-api:1.7.32' implementation 'ch.qos.logback:logback-classic:1.2.6' + implementation 'org.apache.logging.log4j:log4j-api:2.24.1' + implementation 'org.apache.logging.log4j:log4j-core:2.24.1' } diff --git a/src/main/java/io/github/lambdatest/gradle/AppUploader.java b/src/main/java/io/github/lambdatest/gradle/AppUploader.java index 98018bf..7d4a9ad 100644 --- a/src/main/java/io/github/lambdatest/gradle/AppUploader.java +++ b/src/main/java/io/github/lambdatest/gradle/AppUploader.java @@ -3,11 +3,15 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import okhttp3.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.io.IOException; import java.util.concurrent.CompletableFuture; public class AppUploader { - + + private static final Logger logger = LogManager.getLogger(AppUploader.class); + private String username; private String accessKey; private String appFilePath; @@ -40,13 +44,13 @@ public CompletableFuture uploadAppAsync() { String responseBody = response.body().string(); JsonObject jsonObject = JsonParser.parseString(responseBody).getAsJsonObject(); String appId = jsonObject.get("app_id").getAsString(); - - System.out.println("Uploaded app ID: " + appId); + + logger.info("Uploaded app ID: {}", appId); return appId; } } catch (IOException e) { - System.err.println("Error uploading app: " + e.getMessage()); - throw new RuntimeException(e); + logger.error("Error uploading app: {}", e.getMessage()); + throw new RuntimeException(e); } }); } diff --git a/src/main/java/io/github/lambdatest/gradle/LambdaTestTask.java b/src/main/java/io/github/lambdatest/gradle/LambdaTestTask.java index e5d1a9d..617355d 100644 --- a/src/main/java/io/github/lambdatest/gradle/LambdaTestTask.java +++ b/src/main/java/io/github/lambdatest/gradle/LambdaTestTask.java @@ -2,6 +2,8 @@ import org.gradle.api.DefaultTask; import org.gradle.api.tasks.TaskAction; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.io.IOException; import java.util.Map; import java.util.concurrent.CompletableFuture; @@ -11,6 +13,8 @@ public class LambdaTestTask extends DefaultTask { + private static final Logger logger = LogManager.getLogger(LambdaTestTask.class); + private String username; private String accessKey; private String appFilePath; @@ -36,20 +40,20 @@ public class LambdaTestTask extends DefaultTask { @TaskAction public void runLambdaTest() { - System.out.println("Starting LambdaTest task..."); + logger.info("Starting LambdaTest task..."); // Upload app CompletableFuture appIdFuture = null; CompletableFuture testSuiteIdFuture = null; - if (appId == null && appFilePath !=null) { - System.out.println("Uploading app..."); + if (appId == null && appFilePath != null) { + logger.info("Uploading app..."); AppUploader appUploader = new AppUploader(username, accessKey, appFilePath); appIdFuture = appUploader.uploadAppAsync(); } - if (testSuiteId == null && testSuiteFilePath !=null) { - System.out.println("Uploading test suite..."); + if (testSuiteId == null && testSuiteFilePath != null) { + logger.info("Uploading test suite..."); TestSuiteUploader testSuiteUploader = new TestSuiteUploader(username, accessKey, testSuiteFilePath); testSuiteIdFuture = testSuiteUploader.uploadTestSuiteAsync(); } @@ -58,20 +62,20 @@ public void runLambdaTest() { try { if (appIdFuture != null) { appId = appIdFuture.join(); - System.out.println("App uploaded successfully with ID: " + appId); + logger.info("App uploaded successfully with ID: {}", appId); } if (testSuiteIdFuture != null) { - testSuiteId = testSuiteIdFuture.join(); - System.out.println("Test suite uploaded successfully with ID: " + testSuiteId); + testSuiteId = testSuiteIdFuture.join(); + logger.info("Test suite uploaded successfully with ID: {}", testSuiteId); } } catch (CompletionException e) { - System.err.println("Failed to execute tasks: " + e.getMessage()); + logger.error("Failed to execute tasks: {}", e); throw new RuntimeException(e); } // Execute tests - System.out.println("Executing tests..."); + logger.info("Executing tests..."); TestExecutor testExecutor = new TestExecutor(username, accessKey, appId, testSuiteId, device, isFlutter); Map params = new HashMap<>(); @@ -93,10 +97,10 @@ public void runLambdaTest() { try { testExecutor.executeTests(params); } catch (IOException e) { - System.err.println("Failed to execute tests: " + e.getMessage()); + logger.error("Failed to execute tests: {}", e); throw new RuntimeException(e); } - System.out.println("LambdaTest task completed."); + logger.info("LambdaTest task completed."); } // setter methods for the properties diff --git a/src/main/java/io/github/lambdatest/gradle/TestExecutor.java b/src/main/java/io/github/lambdatest/gradle/TestExecutor.java index 0e65fb5..2e938ae 100644 --- a/src/main/java/io/github/lambdatest/gradle/TestExecutor.java +++ b/src/main/java/io/github/lambdatest/gradle/TestExecutor.java @@ -1,12 +1,16 @@ package io.github.lambdatest.gradle; import okhttp3.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.io.IOException; import java.util.Map; import java.util.List; import java.util.stream.Collectors; public class TestExecutor { + private static final Logger logger = LogManager.getLogger(TestExecutor.class); + private String username; private String accessKey; private String appId; @@ -54,10 +58,10 @@ public void executeTests(Map params) throws IOException { if (params.get("disableAnimation") != null) jsonBodyBuilder.append(String.format(",\n \"disableAnimation\": %s", params.get("disableAnimation"))); jsonBodyBuilder.append("\n}"); - System.out.println("Capabilties :"+ jsonBodyBuilder); + logger.info("Capabilities: {}", jsonBodyBuilder); String url = (isFlutter == null || !isFlutter) ? Constants.BUILD_URL : Constants.FLUTTER_BUILD_URL; - RequestBody body = RequestBody.create(mediaType,jsonBodyBuilder.toString()); + RequestBody body = RequestBody.create(mediaType, jsonBodyBuilder.toString()); Request request = new Request.Builder() .url(url) @@ -67,11 +71,11 @@ public void executeTests(Map params) throws IOException { .build(); Response response = client.newCall(request).execute(); - System.out.println("Running Tests"); - System.out.println(response.body().string()); - } catch (IOException e) { - System.err.println("Error executing tests: " + e.getMessage()); - throw new RuntimeException(e); - } + logger.info("Running Tests"); + logger.info(response.body().string()); + } catch (IOException e) { + logger.error("Error executing tests: {}", e.getMessage()); + throw new RuntimeException(e); + } } } diff --git a/src/main/java/io/github/lambdatest/gradle/TestSuiteUploader.java b/src/main/java/io/github/lambdatest/gradle/TestSuiteUploader.java index c4a9f20..b79b3b8 100644 --- a/src/main/java/io/github/lambdatest/gradle/TestSuiteUploader.java +++ b/src/main/java/io/github/lambdatest/gradle/TestSuiteUploader.java @@ -5,9 +5,13 @@ import com.google.gson.JsonObject; import com.google.gson.JsonParser; import java.util.concurrent.CompletableFuture; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; public class TestSuiteUploader { + private static final Logger logger = LogManager.getLogger(TestSuiteUploader.class); + private String username; private String accessKey; private String testSuiteFilePath; @@ -40,11 +44,11 @@ public CompletableFuture uploadTestSuiteAsync() { JsonObject jsonObject = JsonParser.parseString(responseBody).getAsJsonObject(); String testSuiteId = jsonObject.get("app_id").getAsString(); - System.out.println("Uploaded test suite ID : " + testSuiteId); + logger.info("Uploaded test suite ID: {}", testSuiteId); return testSuiteId; } } catch (IOException e) { - System.err.println("Error uploading test suite app: " + e.getMessage()); + logger.error("Error uploading test suite app: {}", e.getMessage()); throw new RuntimeException(e); } });