Http 如何让Clack将访问日志写入文件?
可以通过“缺少:中间件:访问日志”包启用访问日志。 但我不知道这是否也可以登录到一个文件,如果,如何Http 如何让Clack将访问日志写入文件?,http,web,common-lisp,Http,Web,Common Lisp,可以通过“缺少:中间件:访问日志”包启用访问日志。 但我不知道这是否也可以登录到一个文件,如果,如何 有人这么做吗?抱歉让你久等了 下面是一个记录到文件的简单示例。请注意,如果文件是全新的,并且发生错误,则可能会删除该文件 加载以下表单后,浏览http://localhost:5000 将日志行添加到/tmp/accesslog.txt (ql:quickload '(:clack :lack-middleware-accesslog)) (defun router (env) (decl
有人这么做吗?抱歉让你久等了 下面是一个记录到文件的简单示例。请注意,如果文件是全新的,并且发生错误,则可能会删除该文件 加载以下表单后,浏览http://localhost:5000 将日志行添加到/tmp/accesslog.txt
(ql:quickload '(:clack :lack-middleware-accesslog))
(defun router (env)
(declare (ignorable env))
(let ((status-code 200)
(default-mime-type "text/plain")
(greeting "Hello world"))
(list status-code
(list :content-type default-mime-type)
(list greeting))))
(defparameter *app* 'router)
(defvar *log-stream* (open "/tmp/accesslog.txt"
:direction :output
:if-does-not-exist :create
:if-exists :append))
(defun file-logger (logtext)
(write-line logtext *log-stream*)
(finish-output *log-stream*))
(defparameter *app-with-logging*
(funcall lack.middleware.accesslog:*lack-middleware-accesslog*
*app*
:logger 'file-logger))
(defparameter *handler* (clack:clackup *app-with-logging* :port 5000))
;; (progn (clack.handler:stop *handler*) (close *log-stream*))