2016-03-08 61 views
0

pprint/println輸出進入compojure?/我可以讓它顯示在終端窗口中,這個figwheel repl正在運行嗎? (對不起,如果這聽起來很愚蠢,谷歌打敗了我的努力)。將組合式服務器打印語句輸出到方形終端?

+0

我是新來的Clojure自己,但通常figwheel是與前端clojurescript和的Compojure用於後端Clojure的服務器使用如果我理解似乎有點。奇怪的是讓他們直接互動 – JustGage

+0

我以爲因爲'lein figwheel'旋轉後端以及它將是合理的地方輸出服務器日誌記錄。Basica lly我正在尋找如何使用compojure應用程序的服務器端進行打印調試。 – BWStearns

回答

1

其實Figwheel具有導致此類症狀的相關功能。您的戒指處理程序中的所有print/prn語句將由Figwheel進程「吞噬」,並將轉到日誌文件或控制檯。

這裏是project.clj一個片段:

:figwheel 
    {:http-server-root "public" 
    :server-port 3449 
    :nrepl-port 7002 
    :css-dirs ["resources/public/css"] 
    :ring-handler myapp.handler/app 
    :server-logfile false 
    } 

的關鍵:服務器日誌文件是控制這種行爲。如果是假的,那麼是你經常REPL控制檯,如果它是一個文件名,那麼任何輸出將轉到該文件(如果它不存在,則默認使用文件「figwheel_server.log」。

Figwheel問題: https://github.com/bhauman/lein-figwheel/issues/436 figwheel承諾:https://github.com/bhauman/lein-figwheel/commit/330d8d7fda8be145615910cf639bd9a3242339ba

1

它似乎有出現,沒有任何特殊的設置...我得到這個在控制檯:

Prompt will show when Figwheel connects to your application 
"I got a request" 

觸發的處理程序:

的src/with_server/server.clj

(ns with-server.server) 

(defn handler [req] 
    (prn "I got a request") 
    {}) 

在project.clj下:figwheel {}

:ring-handler with-server.server/handler 

如果您遇到問題,也許您需要重新加載中間件來重新加載所做的更改?

+0

意外的行爲阻止了我的代碼進入prn語句。 *捂臉* – BWStearns