2012-05-04 29 views
6

Tôi muốn thay đổi màu của đầu ra thông điệp tường trình thành thiết bị đầu cuối tùy thuộc vào cấp độ nhật ký, chủ đề, v.v.Trình ghi nhật ký có màu đơn giản cho Haskell có sẵn không?

Trình ghi nhật ký duy nhất I found thực hiện điều này trong Haskell là một phần của gói xmonad-contrib, nhưng tôi không muốn phụ thuộc vào nó vì nó khá lớn.

Tôi biết rằng bản ghi Yesod có màu, nhưng không rõ ràng với tôi cách làm cho trình ghi nhật ký hoạt động bên ngoài ứng dụng web Yesod.

Tôi đã xem hslogger có vẻ rất giống với System.Log.Logger, nhưng dường như không có hỗ trợ màu sắc ngoài hộp.

hslogger có thể mở rộng thông qua tùy chỉnh LogHandlers, vì vậy có thể ai đó đã triển khai một bộ phận hỗ trợ màu sắc?

Có lựa chọn thay thế nào để đăng nhập vào Haskell mà tôi đã bỏ qua cho đến nay không?

EDIT:

Sau lời khuyên Don Stewart, tôi thực hiện một custom log handler làm việc với hslogger và ansi-c để cho phép khai thác gỗ để các thiết bị đầu cuối trong màu sắc.

+0

Bạn có thể cần phải gửi bản vá, ví dụ: thêm bộ phối màu - http://hackage.haskell.org/packages/archive/ansi-wl-pprint/0.6.4/doc/html/Text-PrettyPrint-ANSI-Leijen.html#g:9 –

+1

Cảm ơn, tôi ' sẽ cho rằng một thử - thực hiện một màu sắc cho phép LogHandler và làm cho nó có sẵn hoặc có thể làm cho nó kéo vào hslogger. –

Trả lời

5

Tính đến tháng năm 2012, các thư viện đăng nhập sẵn cho Haskell là:

Và một số những người chuyên biệt hơn:

  • greg-client - một khách hàng đến hệ thống đăng nhập greg phân phối
  • fast-logger - một hệ thống khai thác gỗ tối ưu hóa cho nhanh IO

Không hỗ trợ đầu ra màu đầu cuối ansi. Có một số thư viện cho ansi màu, do đó không nên quá khó để thêm vào. Ví dụ.

0

Nếu bạn muốn xem một ví dụ khác về trình ghi màu, hãy xem Network.Wai.Middleware.RequestLogger (logStdoutDev) trong gói bổ sung. Điều này thay đổi màu cho mỗi yêu cầu, nhưng nó sẽ là một ví dụ tốt.

Các vấn đề liên quan