C语言日志类库 zlog 使用指南(第二章 zlog 无法完成的事)

第二章 zlog 无法完成的事

zlog 的目标是成为一个简单、快速的应用程序日志库。它并不支持以下功能:

  • 通过网络将日志发送到其他机器
  • 将日志保存到数据库
  • 解析日志内容和过滤日志

原因很明显:日志库是由应用程序调用的,因此日志库消耗的时间也被算作应用程序的时间。而数据库插入或日志内容解析是耗时操作,这会减慢应用程序的速度。这类操作应该在不同的进程或机器上进行。

如果你需要这些功能,推荐使用 rsyslog、zLogFabric 或 Logstash。它们有独立的进程来接收来自其他进程或机器的日志,并解析和存储日志。这样这些功能就与用户的应用程序分离开来。

目前 [User-defined-Output] 这个功能已经被 zlog 支持。你只需实现一个输出函数,将日志传输到其他进程或机器。类别匹配和日志生成的工作仍然由 zlog 库完成。

一种可行的方法是编写一个 zlog-redis 客户端。在用户定义的输出中,它将日志发送到本地或远程的 redis,然后其他进程可以从 redis 中读取日志并写入磁盘。你觉得这个想法如何?我很乐意与你讨论这个问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值