6

Lein 2 と cider 0.7.0 を実行しています。ring/run-jetty を使って起動するリングアプリのサンプルを作りました。

(ns nimbus-admin.handler
  (:require [compojure.core :refer :all]
            [compojure.handler :as handler]
            [clojure.tools.nrepl.server :as nrepl-server]
            [cider.nrepl :refer (cider-nrepl-handler)]
            [ring.adapter.jetty :as ring]
            [clojure.tools.trace :refer [trace]]
            [ring.util.response :refer [resource-response response redirect content-type]]
            [compojure.route :as route])
  (:gen-class))


(defroutes app-routes 
  (GET "/blah" req "blah")
  (route/resources "/")
  (route/not-found (trace "not-found" "Not Found")))

(def app (handler/site app-routes))

(defn start-nrepl-server []
  (nrepl-server/start-server :port 7888 :handler cider-nrepl-handler))

(defn start-jetty [ip port]
  (ring/run-jetty app {:port port :ip ip}))

(defn -main
  ([] (-main 8080 "0.0.0.0"))
  ([port ip & args] 
     (let [port (Integer. port)]
       (start-nrepl-server)
       (start-jetty ip port))))

次に、サイダーで次のように接続します。

cider-connect 127.0.0.1 7888

自分のサイトに移動し、emacs でフォームを評価すると、nrepl セッションでライブで実行されているものが更新されるので、これは素晴らしいことです。

出力も表示されません(print "test") (println "test") (trace "out" 1)

最後に、私のプロジェクト ファイル:

(defproject nimbus-admin "0.1.0"
  :description ""
  :url ""
  :min-lein-version "2.0.0"
  :dependencies [[org.clojure/clojure "1.6.0"]
                 [com.climate/clj-newrelic "0.1.1"]
                 [com.ashafa/clutch "0.4.0-RC1"]
                 [ring "1.3.1"]
                 [clj-time "0.8.0"]
                 [midje "1.6.3"]
                 [org.clojure/tools.nrepl "0.2.6"]
                 [ring/ring-json "0.3.1"]
                 [org.clojure/tools.trace "0.7.8"]
                 [compojure "1.1.9"]
                 [org.clojure/data.json "0.2.5"]
                 [org.clojure/core.async "0.1.346.0-17112a-alpha"]
                 ]
  :plugins [[lein-environ "1.0.0"]
            [cider/cider-nrepl "0.7.0"]]
  :main nimbus-admin.handler)

でサイトを始めますlein run

編集 私は出力を見ることができます、使用時のみ(.println System/out msg)

4

4 に答える 4

3

試しました(.println System/out msg)か?私は同じ問題を抱えていましたが、これは私にとってはうまくいきました。

于 2014-10-22T23:27:27.590 に答える
0

Proneライブラリが役に立ちます。デバッグ機能も備えた、より優れた例外レポート用のリングミドルウェアがあります。デバッグ時には、Ring リクエストだけでなくローカル バインディングも検査できます。

これがどのように機能するかを示すビデオです

于 2014-09-28T06:34:37.220 に答える