|
|
|
@ -14,6 +14,8 @@ import de.srsoftware.configuration.Configuration;
@@ -14,6 +14,8 @@ import de.srsoftware.configuration.Configuration;
|
|
|
|
|
import de.srsoftware.configuration.JsonConfig; |
|
|
|
|
import de.srsoftware.tools.ColorLogger; |
|
|
|
|
import de.srsoftware.tools.plugin.JarWatchdog; |
|
|
|
|
import org.json.JSONObject; |
|
|
|
|
|
|
|
|
|
import java.io.File; |
|
|
|
|
import java.io.IOException; |
|
|
|
|
import java.net.InetSocketAddress; |
|
|
|
@ -52,10 +54,10 @@ public class Application {
@@ -52,10 +54,10 @@ public class Application {
|
|
|
|
|
*/ |
|
|
|
|
public static void main(String[] args) throws IOException, SQLException { |
|
|
|
|
LOG.log(INFO, "Starting application…"); |
|
|
|
|
ColorLogger.setRootLogLevel(DEBUG); |
|
|
|
|
ColorLogger.setLogLevel("jdk.event.security",INFO); |
|
|
|
|
ColorLogger.setLogLevel("sun.net.www.protocol.http.HttpURLConnection",INFO); |
|
|
|
|
JsonConfig jsonConfig = new JsonConfig("OpenCloudCal"); |
|
|
|
|
|
|
|
|
|
configureLogging(jsonConfig); |
|
|
|
|
|
|
|
|
|
Optional<String> staticPath = jsonConfig.get("opencloudcal.static"); |
|
|
|
|
var db = connect(jsonConfig); |
|
|
|
|
var port = jsonConfig.get("opencloudcal.http.port", 8080); |
|
|
|
@ -75,8 +77,29 @@ public class Application {
@@ -75,8 +77,29 @@ public class Application {
|
|
|
|
|
.addListener(autoImport) |
|
|
|
|
.afterScan(autoImport) |
|
|
|
|
.start(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private static void configureLogging(JsonConfig jsonConfig) { |
|
|
|
|
var rootLevel = jsonConfig.get("opencloudcal.logging.rootlevel", "INFO"); |
|
|
|
|
ColorLogger.setRootLogLevel(mapLogLevel(rootLevel)); |
|
|
|
|
|
|
|
|
|
var loggers = jsonConfig.get("opencloudcal.logging.loggers").orElse(null); |
|
|
|
|
if (loggers instanceof JSONObject json){ |
|
|
|
|
json.keySet().forEach(key -> { |
|
|
|
|
var lvl = mapLogLevel(json.getString(key)); |
|
|
|
|
ColorLogger.setLogLevel(key,lvl); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// TODO: add importers
|
|
|
|
|
private static System.Logger.Level mapLogLevel(String lbl) { |
|
|
|
|
return switch (lbl){ |
|
|
|
|
case "ERROR" -> ERROR; |
|
|
|
|
case "WARN" -> WARNING; |
|
|
|
|
case "DEBUG" -> DEBUG; |
|
|
|
|
case "TRACE" -> TRACE; |
|
|
|
|
default ->INFO; |
|
|
|
|
}; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|