我想根据日志级别,主题等更改日志消息输出到终端的颜色。
在Haskell中执行此操作的唯一记录器found是xmonad-contrib包的一部分,但我不想依赖它,因为它相当大。
我知道Yesod会记录颜色,但对于我如何使其记录器在Yesod Web应用程序之外工作并不明显。
我查看了hslogger这似乎与System.Log.Logger非常相似,但似乎都没有开箱即用的颜色支持。
hslogger可以通过自定义LogHandlers
进行扩展,所以有人可能实现了一个有颜色支持的人吗?
到目前为止,我还忽略了Haskell登录的替代方法吗?
修改
根据Don Stewart的建议,我实现了一个与hslogger和ansi-c一起使用的custom log handler,以便允许以颜色记录到终端。
答案 0 :(得分:5)
截至2012年5月,Haskell的可用日志记录库为:
还有一些更专业的:
无支持ansi终端着色输出。 ansi着色有几个库,所以不应该太难添加。 E.g。
答案 1 :(得分:0)
如果您想查看另一个颜色记录器示例,请查看wai-extra软件包中的Network.Wai.Middleware.RequestLogger(logStdoutDev)。这会改变每个请求的颜色,但它应该是一个很好的例子。