2012-05-04 36 views
6

我想根據日誌級別,主題等將日誌消息輸出的顏色更改爲終端。是否提供Haskell的簡單顏色記錄器?

在Haskell中做到這一點的唯一記錄器I found是xmonad-contrib包的一部分,但我不想依賴它,因爲它相當大。

我知道Yesod會記錄顏色,但我不清楚如何使它的記錄器在Yesod Web應用程序之外工作。

我查看了hslogger,這看起來與System.Log.Logger非常相似,但兩者似乎都不具備開箱即用的顏色支持。

hslogger可以通過自定義LogHandlers擴展,所以可能有人實現了一個支持顏色?

是否有替代品登錄Haskell到目前爲止我已經忽略了?

編輯:

繼唐·斯圖爾特的建議下,我實現了一個custom log handler,爲了讓記錄在色彩終端與hslogger和ANSI-C的作品。

+0

您可能需要提交補丁,例如添加顏色組合器 - http://hackage.haskell.org/packages/archive/ansi-wl-pprint/0.6.4/doc/html/Text-PrettyPrint-ANSI-Leijen.html#g:9 –

+1

謝謝,我'試一試 - 實現一個啓用顏色的LogHandler並使其可用或者可能將其拉入hslogger中。 –

回答

5

隨着2012年5月,Haskell的可用記錄庫:

而一些更專業化的:

無法支持ansi終端着色輸出。有幾個庫用於ansi着色,所以不應該太難添加。例如。

0

如果你想看到一個顏色記錄器的另一個例子,有在圍額外的包一看Network.Wai.Middleware.RequestLogger(logStdoutDev)。這改變了每個請求的顏色,但它應該是一個很好的例子。