diff of e63e005bc0e8528ed007f229a00e04b84d385ead

e63e005bc0e8528ed007f229a00e04b84d385ead
diff --git a/bin/install.sh b/bin/install.sh
index f44697d..fa18ec1 100755
--- a/bin/install.sh
+++ b/bin/install.sh
@@ -12,6 +12,6 @@ if [ "$(uname)" == "Darwin" ]; then
 elif grep murja /etc/passwd; then
     echo "Found user murja from /etc/passwd"
 else
-    useradd --system -U -s /usr/bin/nologin murja
+    useradd --system -U -G systemd-journal -s /usr/bin/nologin murja
     echo "Added new user murja"
 fi
diff --git a/src/main.lisp b/src/main.lisp
index 72c2779..5408b45 100644
--- a/src/main.lisp
+++ b/src/main.lisp
@@ -12,15 +12,11 @@
 (defun stop-server ()
   (hunchentoot:stop *server*))
 
-(defun start-server (&key (port 3010) stream)
+(defun start-server (&key (port 3010))
   (format t "Starting murja server~%")
   (with-db
       (migrate))
-  (let ((server (make-instance 'easy-routes:easy-routes-acceptor :port port)))
-
-    (when stream
-      (setf (hunchentoot:acceptor-access-log-destination server) stream))
-    
+  (let ((server (make-instance 'easy-routes:easy-routes-acceptor :port port)))    
     (when (equalp 3010 port)
       (setf *server* server))
     
@@ -29,12 +25,10 @@
     server))
 
 (defun main (&key (port 3010))
-  (with-open-file (f murja.routes.settings-routes:*log-file* :direction :output :if-does-not-exist :create :if-exists :append)
-    (let ((*standard-output* f))
-      (start-server :port port :stream f)
-      (handler-case
-	  (loop do (sleep 1000))
-	(condition () nil)))))
+  (start-server :port port)
+  (handler-case
+      (loop do (sleep 1000))
+    (condition () nil)))
 
 (in-package :common-lisp-user)
 (defun run ()
diff --git a/src/routes/settings-routes.lisp b/src/routes/settings-routes.lisp
index 266e6c9..23adc3c 100644
--- a/src/routes/settings-routes.lisp
+++ b/src/routes/settings-routes.lisp
@@ -8,7 +8,7 @@
   (:import-from :murja.middleware.json :@json)
   (:import-from :murja.middleware.db :@transaction)
   (:import-from :easy-routes :defroute)
-  (:export :update-setting :get-settings :*log-file*))
+  (:export :update-setting :get-settings))
 
 (in-package :murja.routes.settings-routes)
 
@@ -44,12 +44,13 @@
     (setf (hunchentoot:return-code*) 204)
     ""))
 
-(defvar *log-file* (asdf:system-relative-pathname :aggressive-murja "murja.log"))
-
 (defun get-logs ()
-  (->> 
-    (lisp-fixup:slurp-utf-8 *log-file*)
-    (str:lines)))
+  "Shells out to `journalctl -xeu Murja.service` and returns whatever it happens to output"
+  (let ((fstr (make-array '(0) :element-type 'character
+                               :fill-pointer 0 :adjustable t)))
+    (with-output-to-string (s fstr)
+      (sb-ext:run-program "/usr/bin/journalctl" (list "-xeu" "Murja.service") :output s ))
+    fstr))
 
 (defroute api-logs ("/api/logs" :method :get
 				:decorators (@transaction