   (:require [containium.systems :refer (Startable Stoppable)]
             [containium.systems.config :refer (Config get-config)]
             [taoensso.timbre :as timbre]
-            [clojure.string :refer (upper-case)])
-  (:import [java.io PrintStream]))
+            [clojure.string :refer (upper-case)]
+            [clojure.java.io :refer (writer)])
+  (:import [java.io PrintStream OutputStream]))
 
 
 ;;; Public API for apps

    (swap! levels assoc app-name level)))


(def logger
  (reify Startable
    (start [this systems]
      (let [sessions-atom (atom #{System/out})]
        (Logger. sessions-atom (atom {}) (mk-appender sessions-atom nil nil))))))


(defn mk-appender
  [sessions-atom prefix log-writer]
  {:timestamp-pattern "yyyy-MM-dd HH:mm:ss,SSS"
   :appenders
   {:containium
    {:enabled? true
