ldview/src/ldview/handler.clj

44 lines
1.3 KiB
Clojure

(ns ldview.handler
(:require [compojure.core :refer [defroutes]]
[ldview.routes :refer [all-routes]]
[noir.util.middleware :as middleware]
[compojure.route :as route]
[taoensso.timbre :as timbre]
[com.postspectacular.rotor :as rotor]
[ldview.models.schema :as schema]))
(defroutes app-routes
(route/resources "/")
(route/not-found "Not Found"))
(defn init []
(timbre/set-config!
[:appenders :rotor]
{:min-level :info
:enabled? true
:async? false ; should be always false for rotor
:max-message-per-msecs nil
:fn rotor/append})
(timbre/set-config!
[:shared-appender-config :rotor]
{:path "ldview.log" :max-size (* 512 1024) :backlog 10})
(if-not (schema/initialized?) (schema/create-tables))
(timbre/info "ldview started successfully"))
(defn destroy []
(timbre/info "ldview is shutting down..."))
(def app (middleware/app-handler
;; add your application routes here
[all-routes app-routes]
;; add custom middleware here
:middleware []
;; add access rules here
:access-rules []
;; serialize/deserialize the following data formats
;; available formats:
;; :json :json-kw :yaml :yaml-kw :edn :yaml-in-html
:formats [:json-kw :edn]))