2013-07-02 57 views
1

我使用compojure設置了clojure應用程序來完成REST API。當我使用lein ring serverrun-jetty啓動的應用程序,我得到以下輸出到控制檯:使用與Jetty相同的格式進行日誌記錄

2013-07-01 22:11:48.610:INFO:oejs.Server:jetty-7.x.y-SNAPSHOT 
2013-07-01 22:11:48.640:INFO:oejs.AbstractConnector:Started [email protected]:3000 

我想記錄有關應用控制檯啓動其他信息消息,但對於生活我我無法弄清楚如何使用用於生成這些消息的相同實用程序。我敢肯定,我可以使用tools.clojure.logging手動複製它,但這似乎很難。有誰知道什麼功能環內部使用,然後我可以導入和使用?

編輯

傑里米我指出了正確的方向,但我仍然不能得到任何實際顯示,雖然所有的方法似乎成功返回:

(import 'org.eclipse.jetty.util.log.Log) 
(def logger (Log/getLogger "mylog")) 
(.debug logger (Throwable. "foo")) 

應該到輸出一些東西給stderr,但它永遠不會。任何人都可以提供幫助嗎?

回答

1

這些日誌語句來自Jetty。 「oejs」是org.eclipse.jetty.server的簡稱。您可以看到第一條日誌語句是如何記錄的here。如果你繼續追蹤記錄器的來源,你最終會得到Log.java。您可以用相同的方式啓動記錄器。

+0

從你的第二個答案,謝謝:) –

+0

我終於得到測試出日誌類,它不適合我。我已經更新了上面的問題,你有什麼想法嗎? –

+0

如果您將'nil'傳遞到'Log/getLogger',會發生什麼?我提到你的源代碼說,傳入null/nil會給你默認的記錄器。你通過的任何東西都會試着用這個名字查找一個記錄器,我猜「mylog」不是其中之一。 – Jeremy