Add tinylog logging

Change-Id: I530b4e7e3119444070cff2a25cc1450d33d8f563
diff --git a/src/main/java/de/ids_mannheim/korap/plkexport/ExWSConf.java b/src/main/java/de/ids_mannheim/korap/plkexport/ExWSConf.java
index 8382254..8313810 100644
--- a/src/main/java/de/ids_mannheim/korap/plkexport/ExWSConf.java
+++ b/src/main/java/de/ids_mannheim/korap/plkexport/ExWSConf.java
@@ -13,6 +13,8 @@
 import java.util.Properties;
 import java.nio.charset.StandardCharsets;
 
+import org.tinylog.Logger;
+
 public class ExWSConf {
 
     // Version of Export Plugin
@@ -48,7 +50,7 @@
                     .getResourceAsStream(propFile);
 
                 if (iFile == null) {
-                    System.err.println("Unable to load properties.");
+                    Logger.error("Unable to load properties.");
                     return null;
                 };
 
@@ -57,7 +59,7 @@
                 iFile.close();
             }
             catch (IOException e) {
-                System.err.println(e.getLocalizedMessage());
+                Logger.error(e);
                 return null;
             };
         };
diff --git a/src/main/java/de/ids_mannheim/korap/plkexport/PluginServer.java b/src/main/java/de/ids_mannheim/korap/plkexport/PluginServer.java
index a0d2c83..1560e5b 100644
--- a/src/main/java/de/ids_mannheim/korap/plkexport/PluginServer.java
+++ b/src/main/java/de/ids_mannheim/korap/plkexport/PluginServer.java
@@ -14,6 +14,8 @@
 
 import org.glassfish.jersey.servlet.ServletContainer;
 
+import org.tinylog.Logger;
+
 /**
  * Server to provide the export web service
  */
@@ -57,8 +59,8 @@
 
         try {
             jettyServer.start();
-            System.out.println("PluginServer available under: http://" + host+ ":" + portStr);
-            System.out.println(
+            Logger.info("PluginServer available under: http://" + host+ ":" + portStr);
+            Logger.info(
                 "ApiServer expected under: " +
                 properties.getProperty("api.scheme") +
                 "://" +
diff --git a/src/main/java/de/ids_mannheim/korap/plkexport/Service.java b/src/main/java/de/ids_mannheim/korap/plkexport/Service.java
index cbe88db..e69eb3c 100644
--- a/src/main/java/de/ids_mannheim/korap/plkexport/Service.java
+++ b/src/main/java/de/ids_mannheim/korap/plkexport/Service.java
@@ -42,6 +42,8 @@
 
 import static org.apache.commons.io.FilenameUtils.getExtension;
 
+import org.tinylog.Logger;
+
 import org.glassfish.jersey.media.sse.EventOutput;
 import org.glassfish.jersey.media.sse.OutboundEvent;
 import org.glassfish.jersey.media.sse.SseFeature;
@@ -69,7 +71,6 @@
  * - Do not expect all meta data per match.
  * - Upgrade default pageSize to 50.
  * - Add loading marker.
- * - Use a central logging mechanism.
  * - Add infos to JsonExporter.
  *   - e.g. q & cq string representation.
  * - Check pageSize after init (so pageSize is not
@@ -123,13 +124,13 @@
     
     private final static Base64.Decoder b64Dec = Base64.getDecoder();
 
+    
     @Context
     private HttpServletRequest servletReq;
 
     @Context
     private ContainerRequest req;
 
-
     /*
      * Private method to run the export,
      * either static or streaming
@@ -270,6 +271,7 @@
         }
 
         catch (Exception e) {
+            Logger.error(e);
             throw new WebApplicationException(
                 responseForm(
                     Status.INTERNAL_SERVER_ERROR,
@@ -300,6 +302,7 @@
             }
 
             catch (Exception e) {
+                Logger.error(e);
                 throw new WebApplicationException(
                     responseForm(
                         Status.INTERNAL_SERVER_ERROR,
@@ -340,6 +343,7 @@
         }
 
         catch (Exception e) {
+            Logger.error(e);
             throw new WebApplicationException(
                 responseForm(
                     Status.INTERNAL_SERVER_ERROR,
@@ -473,6 +477,7 @@
                         }
 
                         catch (IOException ioe) {
+                            Logger.error(ioe);
                             throw new RuntimeException(
                                 "Error when writing event output.", ioe
                                 );
@@ -491,6 +496,7 @@
                         }
 
                         catch (IOException ioClose) {
+                            Logger.error(ioClose);
                             throw new RuntimeException(
                                 "Error when closing the event output.", ioClose
                                 );
@@ -702,6 +708,7 @@
             templateData.put("dict", this.getDictionary());
 
         } catch (Exception e) {
+            Logger.error(e);
             return Response
                 .ok(new String("Dictionary not found"))
                 .status(Status.INTERNAL_SERVER_ERROR)
@@ -716,6 +723,7 @@
 
         // Unable to find template
         catch (Exception e) {
+            Logger.error(e);
             return Response
                 .ok(new String("Template not found"))
                 .status(Status.INTERNAL_SERVER_ERROR)
diff --git a/src/main/resources/tinylog.properties b/src/main/resources/tinylog.properties
new file mode 100644
index 0000000..565f707
--- /dev/null
+++ b/src/main/resources/tinylog.properties
@@ -0,0 +1,2 @@
+writer        = console
+writer.format = {date: yyyy-MM-dd HH:mm:ss.SSS}:{level}: {message} at {file}:{line}
\ No newline at end of file