6

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

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

我知道 Yesod 日志是彩色的,但对我来说如何使其记录器在 Yesod Web 应用程序之外工作并不明显。

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

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

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

编辑:

按照 Don Stewart 的建议,我实现了一个自定义日志处理程序,该处理程序与 hslogger 和 ansi-c 一起使用,以便允许以颜色登录到终端。

4

2 回答 2

5

截至 2012 年 5 月,Haskell 可用的日志库有:

还有一些更专业的:

无支持 ansi 终端着色输出。有几个用于 ansi 着色的库,因此添加起来应该不会太难。例如

于 2012-05-04T17:23:10.747 回答
0

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

于 2012-05-05T03:02:41.410 回答