]> gerrit.simantics Code Review - simantics/platform.git/commitdiff
Merge "Fetch all audit logging events"
authorJani Simomaa <jani.simomaa@semantum.fi>
Sat, 16 Mar 2019 14:48:34 +0000 (14:48 +0000)
committerGerrit Code Review <gerrit2@simantics>
Sat, 16 Mar 2019 14:48:34 +0000 (14:48 +0000)
bundles/org.simantics.auditlogging/scl/Simantics/AuditLogging/Server.scl
bundles/org.simantics.auditlogging/src/org/simantics/audit/AuditLogging.java

index 9304294c094781e270f72cda58ab26f024acee23..b7278e9e26df3e053100d968005185193f17c26a 100644 (file)
@@ -7,6 +7,7 @@ importJava "org.simantics.audit.AuditLogging" where
     trace :: String -> Map.T String a -> <Proc, Exception> ()
     getLogEventsDays :: String -> String -> Integer -> <Proc, Exception> [String]
     getLogEvents :: String -> String -> String -> String -> <Proc, Exception> [String]
+    allLogEvents :: String -> Integer -> <Proc, Exception> Map.T String [String]
 
 importJava "org.simantics.audit.server.AuditLoggingServer" where
     start :: String -> Integer -> <Proc> ()
\ No newline at end of file
index 334e19c4762787ca579db78da236687ae6b53f79..3cd6ac3921ecfc9107166775ab3ee42ebeaf778b 100644 (file)
@@ -41,6 +41,24 @@ public class AuditLogging {
         }
     }
 
+    public static Map<String, List<String>> allLogEvents(String level, int days) throws AuditLoggingException {
+        Map<String, List<String>> results = new HashMap<>();
+        try {
+            Files.walk(Activator.getLogLocation()).forEach(uuid -> {
+                String fileName = uuid.getFileName().toString();
+                try {
+                    List<String> events = getLogEventsDays(fileName, level, days);
+                    results.put(fileName, events);
+                } catch (AuditLoggingException e) {
+                    LOGGER.error("Could not get audit log events for {}", fileName, e);
+                }
+            });
+        } catch (IOException e) {
+            throw new AuditLoggingException(e);
+        }
+        return results;
+    }
+
     /**
      * Gets audit events for the last 5 days
      *