Add log4cl and accesslog middleware

This commit is contained in:
Akira Tempaku 2024-04-19 13:58:21 +09:00
commit 1aa438112b
6 changed files with 25 additions and 4 deletions

View file

@ -32,8 +32,9 @@
:directory "src/routes")
(jg:static-path *app* "/assets/" "src/assets/")
(jg:install-middleware *app* mw:*public-files*)
(jg:install-middleware *app* mw:*recovery*)
(jg:install-middleware *app* mw:*normalize-path*)
(jg:install-middleware *app* mw:*recovery*))
(jg:install-middleware *app* mw:*accesslog*))
(defun update ()
(stop)

View file

@ -0,0 +1,14 @@
(defpackage #:hp/middlewares/accesslog
(:use #:cl)
(:import-from #:lack.middleware.accesslog
#:*lack-middleware-accesslog*)
(:import-from #:log4cl)
(:export *accesslog*))
(in-package #:hp/middlewares/accesslog)
(defparameter *accesslog*
(lambda (app)
(funcall *lack-middleware-accesslog*
app
:logger (lambda (message)
(log:info message)))))

View file

@ -1,15 +1,15 @@
(defpackage #:hp/middlewares/recovery
(:use #:cl)
(:import-from #:log4cl)
(:export #:*recovery*))
(in-package #:hp/middlewares/recovery)
;;; TODO: insert logger
(defparameter *recovery*
(lambda (app)
(lambda (env)
(handler-case
(funcall app env)
(error (c)
(log:error "Unhandled error caught: ~a" c)
`(500 (:content-type "text/plain")
(,(format nil "Internal Server Error: ~a~%" c))))))))
("Internal Server Error")))))))