From e448afbfb51d405f9eb1d1140405c9619ca79153 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Sun, 21 Mar 2021 17:33:57 +0000
Subject: [PATCH] Logging, Query Map
---
src/logging.properties | 71 +++++++++++++++++++++++
src/de/uhilger/avdirektor/handler/PlayHandler.java | 41 +++++--------
src/de/uhilger/avdirektor/handler/OMXPlayer.java | 15 +++++
3 files changed, 102 insertions(+), 25 deletions(-)
diff --git a/src/de/uhilger/avdirektor/handler/OMXPlayer.java b/src/de/uhilger/avdirektor/handler/OMXPlayer.java
index d8f1f00..82acdde 100644
--- a/src/de/uhilger/avdirektor/handler/OMXPlayer.java
+++ b/src/de/uhilger/avdirektor/handler/OMXPlayer.java
@@ -16,6 +16,8 @@
import java.io.Writer;
import java.net.HttpURLConnection;
import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -27,6 +29,19 @@
private static final Logger logger = Logger.getLogger(OMXPlayer.class.getName());
+ protected Map getQueryMap(HttpExchange t) {
+ HashMap map = new HashMap();
+ String query = t.getRequestURI().getQuery();
+ if(query != null && query.length() > 0) {
+ String qParts[] = query.split("&");
+ for(String qPart : qParts) {
+ //logger.info("qPart: " + qPart);
+ String pParts[] = qPart.split("=");
+ map.put(pParts[0], pParts[1]);
+ }
+ }
+ return map;
+ }
/**
* Einen Prozess zum Abspielen mit dem omxplayer starten
diff --git a/src/de/uhilger/avdirektor/handler/PlayHandler.java b/src/de/uhilger/avdirektor/handler/PlayHandler.java
index 5ceda70..80b5214 100644
--- a/src/de/uhilger/avdirektor/handler/PlayHandler.java
+++ b/src/de/uhilger/avdirektor/handler/PlayHandler.java
@@ -5,7 +5,9 @@
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
+import java.util.Map;
import java.util.Set;
+import java.util.function.Consumer;
import java.util.logging.Level;
import java.util.logging.Logger;
@@ -52,37 +54,26 @@
@Override
public void handle(HttpExchange t) throws IOException {
- logger.log(Level.INFO, "RequestURI.getPath: {0}", t.getRequestURI().getPath());
-
- String path = t.getRequestURI().getPath();
- String[] parts = path.split("/");
- for (String part : parts) {
- logger.log(Level.INFO, "part: {0}", part);
- }
- //logger.log(Level.INFO, "query: {0}", t.getRequestURI().getQuery());
-
- HashMap map = new HashMap();
- String query = t.getRequestURI().getQuery();
- if(query != null && query.length() > 0) {
- String qParts[] = query.split("&");
- for(String qPart : qParts) {
- //logger.info("qPart: " + qPart);
- String pParts[] = qPart.split("=");
- map.put(pParts[0], pParts[1]);
- }
- }
+ logger.log(Level.FINE, "RequestURI.getPath: {0}", t.getRequestURI().getPath());
+ Map map = getQueryMap(t);
Set keys = map.keySet();
- keys.forEach(key -> {
- logger.info("key " + key + " value " + map.get(key));
+ StringBuffer buf = new StringBuffer();
+ buf.append("play");
+ buf.append(System.lineSeparator());
+ keys.forEach((Object key) -> {
+ buf.append("key: ");
+ buf.append(key);
+ buf.append(System.lineSeparator());
+ buf.append("value: ");
+ buf.append(map.get(key));
+ buf.append(System.lineSeparator());
+ logger.log(Level.FINE, "key {0} value {1}", new Object[]{key, map.get(key)});
});
-
- String response = "play";
+ String response = buf.toString();
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
-
}
-
}
diff --git a/src/logging.properties b/src/logging.properties
new file mode 100644
index 0000000..3f0ec2e
--- /dev/null
+++ b/src/logging.properties
@@ -0,0 +1,71 @@
+############################################################
+# Default Logging Configuration File
+#
+# You can use a different file by specifying a filename
+# with the java.util.logging.config.file system property.
+# For example java -Djava.util.logging.config.file=myfile
+############################################################
+
+############################################################
+# Global properties
+############################################################
+
+# "handlers" specifies a comma separated list of log Handler
+# classes. These handlers will be installed during VM startup.
+# Note that these classes must be on the system classpath.
+# By default we only configure a ConsoleHandler, which will only
+# show messages at the INFO and above levels.
+# handlers= java.util.logging.ConsoleHandler
+
+# To also add the FileHandler, use the following line instead.
+# handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
+
+# Default global logging level.
+# This specifies which kinds of events are logged across
+# all loggers. For any given facility this global level
+# can be overriden by a facility specific level
+# Note that the ConsoleHandler also has a separate level
+# setting to limit messages printed to the console.
+# .level= FINE
+.level = NONE
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+# default file output is in user's home directory.
+java.util.logging.FileHandler.pattern = %h/java%u.log
+# java.util.logging.FileHandler.pattern = /media/extmirror/tomcat747/logs/tv_%u.log
+# java.util.logging.FileHandler.pattern = ${catalina.base}/logs/file-cms_%u.log
+# java.util.logging.FileHandler.limit = 50000
+# java.util.logging.FileHandler.count = 1
+# java.util.logging.FileHandler.count = 2
+# java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
+java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
+# java.util.logging.FileHandler.level = FINER
+
+# Limit the message that are printed on the console to INFO and above.
+# java.util.logging.ConsoleHandler.level = INFO
+# java.util.logging.ConsoleHandler.level = FINER
+# java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
+
+# Example to customize the SimpleFormatter output format
+# to print one-line log message like this:
+# <level>: <log message> [<date/time>]
+#
+# java.util.logging.SimpleFormatter.format=%4$s: %5$s [%1$tc]%n
+
+############################################################
+# Facility specific properties.
+# Provides extra control for each logger.
+############################################################
+
+# For example, set the com.xyz.foo logger to only log SEVERE
+# messages:
+# com.xyz.foo.level = SEVERE
+# de.uhilger.filecms.handlers = java.util.logging.FileHandler, java.util.logging.ConsoleHandler
+# de.uhilger.filecms.level = FINEST
+# de.uhilger.wbx.handlers = java.util.logging.ConsoleHandler
+# de.uhilger.wbx.level = FINEST
+de.uhilger.avdirektor.level = INFO
\ No newline at end of file
--
Gitblit v1.9.3