6 个版本 (3 个稳定版)

1.1.8 2022 年 7 月 16 日
1.1.5 2021 年 12 月 24 日
0.1.2 2020 年 1 月 18 日

#1 in #lf

GPL-2.0-only

7KB
67 代码行数(不包括注释)

名称

logfast - 具有简单界面的超快速日志记录

示例

use logfast::LogFast;

fn main() {
  let buffer_size = 100;
  let mut lf = LogFast::new("my.log", buffer_size).unwrap();

  lf.log("Here's a test log line");
  lf.log("And here's another");
}


$ cat my.log
2020-01-10 23:54:25.177300600: Here's a test log line
2020-01-10 23:54:25.177380200: And here's another

描述

当你快速处理事情时,同步日志可能会真的妨碍你。通常,每次你写入日志文件时,主线程都会阻塞,直到写入操作完成(这可能会很慢)。但在 LogFast 中不是这样。

  • 将日志消息推送到另一个线程的缓冲区
  • 立即返回,让你继续操作

与此同时,在 LogFast 线程中,它会尽可能快地将日志写入文件,然后进入休眠状态,直到新的日志消息到来。这实际上将日志写入与主线程并行化。很酷!

支持

请在此处报告任何错误或功能请求:

请随意fork存储库并提交拉取请求 :)

另请参阅

作者

Alfie John

保证

不提供任何保证。

版权和许可

版权所有 (C) 2021 by Alfie John

本程序是自由软件:您可以按照自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它,许可证版本为 3,或者(根据您的选择)任何后续版本。

本程序按“原样”提供,不提供任何明示或暗示的保证;甚至不包括对适销性或特定用途适用性的暗示保证。有关详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到一份 GNU 通用公共许可证副本。如果没有,请参阅 https://www.gnu.org/licenses/

依赖项

~1MB
~18K SLoC