diff --git a/Dockerfile b/Dockerfile index 904618d..e887a46 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,4 +9,4 @@ COPY *.lisp . RUN ros install ./lisp-inference.asd RUN ros run -s lisp-inference/web -q EXPOSE 40000 -ENTRYPOINT ["/root/.roswell/bin/inference-server"] +ENTRYPOINT ["/app/roswell/inference-server.ros"] diff --git a/lisp-inference.asd b/lisp-inference.asd index ecc055b..e38face 100644 --- a/lisp-inference.asd +++ b/lisp-inference.asd @@ -31,6 +31,7 @@ :homepage "https://github.com/ryukinix/lisp-inference" :serial t :depends-on (:lisp-inference + :40ants-logging :40ants-routes ;; implicit dependency of reblocks :reblocks :reblocks-ui diff --git a/roswell/inference-server.ros b/roswell/inference-server.ros index ac98657..1170f20 100755 --- a/roswell/inference-server.ros +++ b/roswell/inference-server.ros @@ -32,10 +32,10 @@ exec ros -Q -- $0 "$@" (unwind-protect (handler-case (progn - (format t "[+] Starting Lisp Inference server...~%") - (lisp-inference/web:start *port*) - (format t "[+] http://127.0.0.1:~a~%" *port*) - (format t "[+] Press C-c to kill Lisp Inference server...~%") + (lisp-inference/web:start :port *port* :debug nil) + (log:info "[+] Starting Lisp Inference server...") + (log:info "[+] http://127.0.0.1:~a" *port*) + (log:info "[+] Press C-c to kill Lisp Inference server...") (loop do (sleep 10))) (#+sbcl sb-sys:interactive-interrupt #+ccl ccl:interrupt-signal-condition diff --git a/web/webapp.lisp b/web/webapp.lisp index 4c407f2..ad23c02 100644 --- a/web/webapp.lisp +++ b/web/webapp.lisp @@ -91,14 +91,17 @@ history.pushState(null, '', url); (defun truth-table (exp) (with-output-to-string (s) (let ((inference:*output-stream* s)) + (log:info "expression: ~a" exp) (handler-case (inference:print-truth-table (inference:parse-logic exp)) (simple-error (c) + (log:warn "Maximum variables reached in expression '~a' generated the error: ~a" exp c) (apply #'format s (simple-condition-format-control c) (simple-condition-format-arguments c))) (error (c) (declare (ignore c)) + (log:error "Invalid expression: '~a' generated the error: ~a" exp c) (format s "error: invalid logic expression!")))))) (defun create-table (exp-string) @@ -192,8 +195,10 @@ history.pushState(null, '', url); *proposition* prop)))) -(defun start (&optional (port *port*)) - (reblocks/debug:on) +(defun start (&key (port *port*) (debug t)) + (if debug + (reblocks/debug:on) + (40ants-logging:setup-for-cli :level :info)) (reblocks/server:stop) (reblocks/server:start :port port))