From 7657691019bae176719af8b96353dbe980692068 Mon Sep 17 00:00:00 2001 From: Adam Bem Date: Thu, 19 Jan 2023 14:18:53 +0100 Subject: [PATCH] Initial log4j support --- Backend/xslt-rest/pom.xml | 10 +++++- .../com/r11/tools/xslt/SparkInitializer.java | 35 +++++++++++++------ .../xslt/processors/NewNamespaceResolver.java | 8 ++--- .../com/r11/tools/xslt/processors/Saxon.java | 5 +++ .../com/r11/tools/xslt/processors/Xalan.java | 5 +++ .../xslt-rest/src/main/resources/log4j2.xml | 21 +++++++++++ 6 files changed, 69 insertions(+), 15 deletions(-) create mode 100644 Backend/xslt-rest/src/main/resources/log4j2.xml diff --git a/Backend/xslt-rest/pom.xml b/Backend/xslt-rest/pom.xml index db97ca3..3e928c9 100644 --- a/Backend/xslt-rest/pom.xml +++ b/Backend/xslt-rest/pom.xml @@ -14,6 +14,7 @@ UTF-8 2.14.1 2.0.6 + 2.19.0 @@ -133,8 +134,15 @@ org.apache.logging.log4j log4j-core - 2.19.0 + ${log4j.version} + + org.apache.logging.log4j + log4j-api + ${log4j.version} + + + \ No newline at end of file diff --git a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/SparkInitializer.java b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/SparkInitializer.java index 8464c6f..b52ac5e 100644 --- a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/SparkInitializer.java +++ b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/SparkInitializer.java @@ -4,6 +4,8 @@ import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.r11.tools.xslt.processors.Saxon; import com.r11.tools.xslt.processors.Xalan; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import spark.*; import java.util.HashMap; @@ -14,6 +16,9 @@ import java.util.Map; * @author Wojciech Czop */ public class SparkInitializer { + + private static final Logger LOG = LogManager.getLogger(SparkInitializer.class); + /** * Initializes spark framework */ @@ -32,7 +37,8 @@ public class SparkInitializer { Spark.post("/xpathpost", xpathHandler); Spark.post("/xsdpost", xsdHandler); Spark.get("/procinfo", procinfoHandler); - System.out.println("Server is online"); + + LOG.info("Server is online at port: " + Spark.port()); } /** @@ -53,7 +59,7 @@ public class SparkInitializer { */ private static Route xsdHandler = (Request req, Response resp) -> { String body = req.body(); - System.out.println("Request: " + body); + LOG.info("Request: " + body); ObjectMapper mapper = new ObjectMapper(); Map requestMap = null; Map responseMap = new HashMap<>(); @@ -76,12 +82,13 @@ public class SparkInitializer { responseMap.put("result", tmp); responseMap.put("status", "OK"); } catch (Exception ex) { - System.out.println("Exception: "+ex.getMessage()); + LOG.error("Exception: "+ ex.getMessage()); responseMap.put("result", ex.getMessage()); responseMap.put("status", "ERR"); resp.status(400); } long duration = System.currentTimeMillis() - timeStart; + LOG.info("Request: " + body + " processed in " + duration + " ms."); responseMap.put("processor", Xalan.getVersion()); responseMap.put("time", "" + duration); resp.body(mapper.writeValueAsString(responseMap)); @@ -92,16 +99,16 @@ public class SparkInitializer { * Handler that returns output of xpath query and processor data */ private static Route xpathHandler = (Request req, Response resp) -> { - String body = req.body(); - System.out.println("Request: " + body); + LOG.info("Request: " + body); ObjectMapper mapper = new ObjectMapper(); Map requestMap = null; Map responseMap = new HashMap<>(); try { requestMap = mapper.readValue(body, Map.class); } catch (JsonMappingException ex) { - ex.printStackTrace(); + LOG.error("Exception: "+ ex.getMessage()); + //ex.printStackTrace(); } String data = requestMap.get("data"); @@ -109,6 +116,7 @@ public class SparkInitializer { String processor = requestMap.get("processor"); String version = requestMap.get("version"); + String tmp = ""; long timeStart; long duration; @@ -120,19 +128,21 @@ public class SparkInitializer { switch (processor) { case "saxon": resp.header("processor", "Saxon " + Saxon.getVersion() + " " + version + " over s9api"); - System.out.print("Processing start..."); + //LOG.info("Processing start..."); timeStart = System.currentTimeMillis(); try { tmp = Saxon.processXPath(data, query, version).trim(); responseMap.put("result", tmp); responseMap.put("status", "OK"); } catch (Exception ex) { + LOG.error("Exception: "+ ex.getMessage()); responseMap.put("result", ex.getMessage()); responseMap.put("status", "ERR"); resp.status(400); } duration = System.currentTimeMillis() - timeStart; - System.out.println("end(" + duration + ")"); + //System.out.println("end(" + duration + ")"); + LOG.info("Request" + body + " processed in " + duration + " ms."); responseMap.put("processor", "Saxon " + Saxon.getVersion() + " " + version + " over s9api"); responseMap.put("time", "" + duration); resp.body(mapper.writeValueAsString(responseMap)); @@ -146,6 +156,7 @@ public class SparkInitializer { responseMap.put("result", tmp); responseMap.put("status", "OK"); } catch (Exception ex) { + LOG.error("Exception: "+ ex.getMessage()); responseMap.put("result", ex.getMessage()); responseMap.put("status", "ERR"); resp.status(400); @@ -177,9 +188,11 @@ public class SparkInitializer { Map responseMap = new HashMap<>(); try { jsonMap = mapper.readValue(body, Map.class); - System.out.println(jsonMap); + LOG.info(jsonMap); + //System.out.println(jsonMap); } catch (JsonMappingException ex) { - ex.printStackTrace(); + LOG.error("Exception: "+ ex.getMessage()); + //ex.printStackTrace(); } String data = jsonMap.get("data"); String query = jsonMap.get("process"); @@ -201,6 +214,7 @@ public class SparkInitializer { responseMap.put("result", tmp); responseMap.put("status", "OK"); } catch (Exception ex) { + LOG.error("Exception: "+ ex.getMessage()); responseMap.put("result", ex.getMessage()); responseMap.put("status", "ERR"); resp.status(400); @@ -220,6 +234,7 @@ public class SparkInitializer { responseMap.put("result", tmp); responseMap.put("status", "OK"); } catch (Exception ex) { + LOG.error("Exception: "+ ex.getMessage()); responseMap.put("result", ex.getMessage()); responseMap.put("status", "ERR"); resp.status(400); diff --git a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/NewNamespaceResolver.java b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/NewNamespaceResolver.java index f89da0b..725475a 100644 --- a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/NewNamespaceResolver.java +++ b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/NewNamespaceResolver.java @@ -4,6 +4,8 @@ import net.sf.saxon.om.NamespaceBinding; import net.sf.saxon.om.NamespaceMap; import net.sf.saxon.s9api.XPathCompiler; import net.sf.saxon.s9api.XdmNode; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import java.util.Iterator; @@ -13,6 +15,7 @@ import java.util.Iterator; * @author Wojciech Czop */ public class NewNamespaceResolver { + private static final Logger LOG = LogManager.getLogger("NewNamespaceResolver"); private NamespaceMap namespaceMap; @@ -63,10 +66,7 @@ public class NewNamespaceResolver { XdmNode rNode = it.next(); // TODO: remove if(rNode.getUnderlyingNode().getPrefix().isEmpty() && !rNode.getParent().getUnderlyingNode().getPrefix().isEmpty()){ - - System.out.println("prefix missing, parent has "+rNode.getParent().getUnderlyingNode().getPrefix() + ", but child has none"); - - System.out.println(); + LOG.warn("Missing prefix. Parent has " + rNode.getParent().getUnderlyingNode().getPrefix() + ", but child has none"); } // end extractNamespace(rNode); diff --git a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Saxon.java b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Saxon.java index 34ee6a4..3c30fc7 100644 --- a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Saxon.java +++ b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Saxon.java @@ -1,6 +1,9 @@ package com.r11.tools.xslt.processors; import net.sf.saxon.s9api.*; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + import javax.xml.transform.stream.StreamSource; import java.io.StringReader; import java.io.StringWriter; @@ -11,6 +14,8 @@ import java.io.StringWriter; */ public class Saxon { + private static final Logger LOG = LogManager.getLogger("Saxon"); + /** * Transforms string containing xml document via xslt * @param data xml to be transformed diff --git a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Xalan.java b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Xalan.java index b85a089..b73a95e 100644 --- a/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Xalan.java +++ b/Backend/xslt-rest/src/main/java/com/r11/tools/xslt/processors/Xalan.java @@ -1,5 +1,7 @@ package com.r11.tools.xslt.processors; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; import org.w3c.dom.Document; import org.xml.sax.InputSource; @@ -25,6 +27,9 @@ import java.io.StringWriter; * @author Wojciech Czop */ public class Xalan { + + private static final Logger LOG = LogManager.getLogger("Xalan"); + /** * Transforms string containing xml document via xslt * @param data xml to be transformed diff --git a/Backend/xslt-rest/src/main/resources/log4j2.xml b/Backend/xslt-rest/src/main/resources/log4j2.xml new file mode 100644 index 0000000..957558c --- /dev/null +++ b/Backend/xslt-rest/src/main/resources/log4j2.xml @@ -0,0 +1,21 @@ + + + + + + + + + %d{HH:mm:ss.SSS} [%t] %-5level - %msg%n + + + + + + + + + + + + \ No newline at end of file