是的,又一个长枪:又一个伐木工人

[阿帕奇,图书馆,登录中,程序,系统][建议标签]

具有灵活性和性能的日志框架记住。

快速入门

导入系统。记录器main|IO()main=withConsoleLogger信息$do日志信息“moin”带标签(“功能”,“f”)f日志警告“tschüss”哪里f=带电平调试$dologg调试“Debug f”

描述

此版本尚未预览

测井系统由四个主要部分组成:

  1. 日志前端是使用的类型和函数在代码中生成日志消息。这包括日志级别类型日志策略类型日志标签LogScope(日志范围)类型,这个日志函数类型,以及MonadLog公司类型类。

  2. 摘要日志服务器Ctx是上下文日志函数将日志消息传递到记录器后端。

  3. 格式化程序是用于序列化日志消息的函数。

  4. 记录器后端是由调用的回调记录器每个日志消息。记录器后端应用格式化功能并将日志消息传递到某个接收器。

该框架允许以模块化的方式组合这些组件。这个前端类型记录器,并表示后端回调按类型或类型类。格式化程序仅作为概念存在在back-ends的实现中。这些类型和概念一起形成模块中定义的抽象记录器接口系统。记录器。类型.

该包还提供了实现这些组件的具体Logger在模块中系统。记录器。记录器系统。记录器。后端。把手


[跳到自述]

旗帜

手动标记

姓名描述违约
tbmqueue(tbmqueue)

使用TBMQueue作为记录器队列。默认使用TBMChan。

残疾人

使用-f<标志>启用标志,或-f-<标志>禁用该标志。更多信息

下载

维修人员角落

包装维护人员

对于包维护者和黑客托管者

候选人

版本[RSS(RSS)] 0.0.1,0.1,0.1.1,0.1.1.1,0.2,0.2.1,0.2.2,0.2.3,0.2.3.1,0.3.0,0.3.1,0.4.0,0.4.1,0.4.2
更改日志 CHANGELOG.md公司
依赖关系 伊森(>=0.11),ansi端子(>=0.6),异步(>=2.0),基础(>=4.8 && <5.0),基本unicode符号(>=0.2),字节删除(>=0.10),卡瓦尔(>=1.18),时钟(>=0.4),配置工具(>=0.2.8),deepseq公司(>=1.4),包含的异常(>=1.0),例外(>=0.8),升降式底座(>=0.2.3),微透镜(>=0.4),单控(>=1.0),mtl公司(>=2.2),optparse应用程序(>=0.11),stm公司(>=2.4),stm-chans公司(>=3.0),文本(>=1.2),时间(>=1.5),变压器(>=0.3),变压器底座(>=0.4),空隙(>=0.7),是的,又一个长枪[细节]
许可证 阿帕奇2.0
版权所有 版权所有(c)2016-2023 Lars Kuhtz<lakuhtz@gmail.com>版权所有(c)2014-2015 PivotCloud,Inc。
作者 拉尔斯·库赫茨<lakuhtz@gmail.com>
维护人员 拉尔斯·库茨<lakuhtz@gmail.com>
类别 登录中,系统
主页 https://github.com/alephcloud/hs-yet-another-logger网站
源回购 头部:git克隆https://github.com/alephcloud/hs-yet-another-logger网站
已上传 通过落叶松2023-06-23T21:06:18Z
分配 尼克斯(NixOS):0.4.2
反向依赖关系 1直接,0间接[细节]
可执行程序 例子
下载 共8731人(过去30天内有39人)
额定值 (尚未投票)[估算人贝叶斯平均]
您的评分
  • λ
  • λ
  • λ
状态 可用文档[生成日志]
上次成功报告时间:2023-06-23[所有1个报告]

yet-another-logger自述-0.4.2

[返回包描述]

一个考虑到灵活性和性能的日志框架。

快速入门

导入系统。记录器main|IO()main=withConsoleLogger信息$do日志信息“moin”带标签(“功能”,“f”)f日志警告“tschüss”哪里f=带电平调试$dologg调试“Debug f”

概述

测井系统由四个主要部分组成:

  1. 日志前端是使用的类型和函数在代码中生成日志消息。这包括日志级别类型日志策略类型日志标签LogScope(日志范围)类型,这个日志函数类型,以及MonadLog公司类型类。

  2. 摘要记录器Tx是上下文日志函数将日志消息传递到记录器后端。

  3. 格式化程序是用于序列化日志消息的函数。

  4. 记录器后端是由调用的回调记录器每个日志消息。记录器后端应用格式化功能并将日志消息传递到某个接收器。

该框架允许您以模块化的方式组合这些组件。这个前端类型记录器,后端回调由表示类型或类型类。格式化程序仅作为概念存在于back-ends的实现。这些类型和概念共同构成模块中定义的抽象记录器接口系统。记录器。类型.

该包还提供了实现这些组件的具体Logger在模块中系统。记录器。记录器系统。记录器。后端。把手.

记录器实现

在服务应用程序中写入日志消息应该只引入最小值写入日志消息的线程中的延迟开销。处理应该尽可能异步完成。该框架解决了这是通过在异步记录器后端执行所有序列化和IO实现的回调。

生成日志消息时,它与记录器上下文关联。这个记录器上下文包括

  • 对数级阈值,
  • 作用域,它是用于用附加信息标记日志消息,以及
  • 指定如何处理以下情况的策略日志消息管道堵塞。

日志消息可以是任何Haskell类型显示,可打字的、和NFData公司约束。理想情况下,在程序中计算记录值,以便构造和强制它不会引入任何额外的开销。

生成日志消息时,会用时间戳对其进行标记。这介绍了开销,还有优化的空间。日志消息还具有日志级别。如果日志消息时有效的日志阈值是写入未满足,未生成消息。

记录器具有内部日志消息队列。进一步的基准应该是在选择最适合此目的的队列实现中完成。

记录器从队列中异步读取日志消息并调用每条消息的后端回调。现在代码只包含一个后端,即用于写入句柄,但我们将添加更多很快就会退场。由于采用模块化设计,可以将不同的向后插入单个后端,以便消息由多个单个后端并交付给多个接收器。

后端包括格式化功能。这是除了IO之外进行处理。

将序列化延迟到处理管道的末尾以下优点:

  1. 序列化是异步完成的,
  2. 序列化仅针对实际传递的消息和它只针对与各自的后端,以及
  3. 很容易部署不同的序列化方法。

例如,当登录到控制台时,通常需要一行UNIX工具友好格式。对于云服务,可以选择高效的二进制序列化,后端将消息存储在远程数据库中。可能在某些情况下,所有或某些消息的数据只是在丢弃消息之前进行聚合以进行统计分析。这个将日志消息的生成和序列化解耦的模块化设计,只需使用不同的back-ends,可能由格式化函数参数化。