44 lines
1.3 KiB
Clojure
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]))
|