是否有适用于Haskell的简单颜色启用记录器?

时间:2012-05-04 12:19:59

标签: haskell logging yesod

我想根据日志级别,主题等更改日志消息输出到终端的颜色。

在Haskell中执行此操作的唯一记录器found是xmonad-contrib包的一部分,但我不想依赖它,因为它相当大。

我知道Yesod会记录颜色,但对于我如何使其记录器在Yesod Web应用程序之外工作并不明显。

我查看了hslogger这似乎与System.Log.Logger非常相似,但似乎都没有开箱即用的颜色支持。

hslogger可以通过自定义LogHandlers进行扩展,所以有人可能实现了一个有颜色支持的人吗?

到目前为止,我还忽略了Haskell登录的替代方法吗?

修改

根据Don Stewart的建议,我实现了一个与hslogger和ansi-c一起使用的custom log handler,以便允许以颜色记录到终端。

2 个答案:

答案 0 :(得分:5)

截至2012年5月,Haskell的可用日志记录库为:

还有一些更专业的:

  • greg-client - greg分布式日志记录系统的客户端
  • fast-logger - 针对快速IO优化的日志记录系统

无支持ansi终端着色输出。 ansi着色有几个库,所以不应该太难添加。 E.g。

答案 1 :(得分:0)

如果您想查看另一个颜色记录器示例,请查看wai-extra软件包中的Network.Wai.Middleware.RequestLogger(logStdoutDev)。这会改变每个请求的颜色,但它应该是一个很好的例子。