diff --git a/src/main/java/com/gymtracker/handler/LogAuthHandler.java b/src/main/java/com/gymtracker/handler/LogAuthHandler.java
index fdabd28883cd54c2cf54d1c7b5f77f9cb85512d2..f46e9d65552f23f0701d892c84b4def812199fe3 100644
--- a/src/main/java/com/gymtracker/handler/LogAuthHandler.java
+++ b/src/main/java/com/gymtracker/handler/LogAuthHandler.java
@@ -15,9 +15,8 @@ import javax.xml.ws.handler.MessageContext;
 import javax.xml.ws.handler.soap.SOAPHandler;
 import javax.xml.ws.handler.soap.SOAPMessageContext;
 import java.sql.Timestamp;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 
 public class LogAuthHandler implements SOAPHandler<SOAPMessageContext> {
     @Override
@@ -81,6 +80,7 @@ public class LogAuthHandler implements SOAPHandler<SOAPMessageContext> {
     private void log(SOAPMessageContext smc, boolean authorized) {
         try {
             StringBuilder description = new StringBuilder();
+            String formattedBodyContent = Util.formatContentBody(smc);
 
             if(authorized) {
                 @SuppressWarnings("unchecked")
@@ -89,38 +89,27 @@ public class LogAuthHandler implements SOAPHandler<SOAPMessageContext> {
                 String token = (String) httpHeaders.get("Authorization").get(0);
                 String phpKey = dotenv.get("PHP_KEY");
 
-                description.append("Authorized access: ");
+                description.append("Authorized access; ");
                 String caller = token.equals(phpKey) ? "PHP" : "Node";
                 description.append(caller).append(" call to ");
 
                 QName operation = (QName) smc.get(MessageContext.WSDL_OPERATION);
                 description.append(operation.getLocalPart());
 
-                SOAPMessage soapMessage = smc.getMessage();
-                SOAPBody soapBody = soapMessage.getSOAPBody();
-                String bodyContent = soapBody.getTextContent();
-
-                description.append(" with body: ");
-                description.append(bodyContent);
-
             } else {
-                description.append("Unauthorized access: Tried to call ");
+                description.append("Unauthorized access; Tried to call ");
                 QName operation = (QName) smc.get(MessageContext.WSDL_OPERATION);
                 description.append(operation.getLocalPart());
 
-                SOAPMessage soapMessage = smc.getMessage();
-                SOAPBody soapBody = soapMessage.getSOAPBody();
-                String bodyContent = soapBody.getTextContent();
-
-                description.append(" with body: ");
-                description.append(bodyContent);
             }
+            description.append(" with arguments:\n");
+            description.append(formattedBodyContent);
 
             Logging logging = new Logging();
             logging.setRequestDescription(description.toString());
             logging.setEndpoint(Util.getURL(smc));
             logging.setIPAddress(Util.getIP(smc));
-            logging.setTimestamp(new Timestamp(System.currentTimeMillis()));
+            logging.setTimestamp(Util.toUTCSeven(new Timestamp(System.currentTimeMillis())));
 
             SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
             Session session = sessionFactory.getCurrentSession();
diff --git a/src/main/java/com/gymtracker/util/Util.java b/src/main/java/com/gymtracker/util/Util.java
index 8892ca75cf6d088bf314b9b6b3d8568e6cbcbd3b..3be64fe87c8e3c0fd6f68a27f2b7a0c3e9a0b329 100644
--- a/src/main/java/com/gymtracker/util/Util.java
+++ b/src/main/java/com/gymtracker/util/Util.java
@@ -1,15 +1,16 @@
 package com.gymtracker.util;
 
-// import javax.xml.namespace.QName;
-// import javax.xml.soap.SOAPBody;
-// import javax.xml.soap.SOAPElement;
-// import javax.xml.soap.SOAPException;
-// import javax.xml.soap.SOAPMessage;
-// import javax.xml.ws.handler.soap.SOAPMessageContext;
+import javax.xml.soap.SOAPBody;
+import javax.xml.soap.SOAPMessage;
 import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
 import java.lang.reflect.Method;
 import java.net.InetSocketAddress;
 import java.net.URI;
+import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.stream.Collectors;
 
 public class Util {
     public static String getIP(MessageContext mc) {
@@ -41,4 +42,34 @@ public class Util {
             return "";
         }
     }
+
+    public static String formatContentBody(SOAPMessageContext smc) {
+        try {
+            SOAPMessage soapMessage = smc.getMessage();
+            SOAPBody soapBody = soapMessage.getSOAPBody();
+            String bodyContent = soapBody.getTextContent();
+
+            String[] lines = bodyContent.split("\\n");
+            // Filter out empty lines and remove leading whitespaces
+            return Arrays.stream(lines)
+                    .map(String::trim)
+                    .filter(s -> !s.isEmpty())
+                    .collect(Collectors.joining(",\n"));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return "";
+        }
+    }
+
+    public static Timestamp toUTCSeven(Timestamp timestamp) {
+        try {
+            Calendar calendar = Calendar.getInstance();
+            calendar.setTimeInMillis(timestamp.getTime());
+            calendar.add(Calendar.HOUR_OF_DAY, 7);
+            return new Timestamp(calendar.getTimeInMillis());
+        } catch (Exception e) {
+            e.printStackTrace();
+            return new Timestamp(System.currentTimeMillis());
+        }
+    }
 }