#logging #slog #log

slog-extlog

通过日志进行基于对象的日志记录和统计跟踪

13个稳定版本 (5个主要版本)

8.1.0 2023年10月6日
8.0.0 2022年3月8日
7.0.0 2021年3月4日
6.0.1 2020年8月26日
3.2.0 2018年4月25日

#200调试

Download history 441/week @ 2024-04-20 360/week @ 2024-04-27 71/week @ 2024-05-04 159/week @ 2024-05-11 349/week @ 2024-05-18 243/week @ 2024-05-25 156/week @ 2024-06-01 98/week @ 2024-06-08 189/week @ 2024-06-15 311/week @ 2024-06-22 317/week @ 2024-06-29 443/week @ 2024-07-06 173/week @ 2024-07-13 193/week @ 2024-07-20 216/week @ 2024-07-27 168/week @ 2024-08-03

每月800 次下载

Apache-2.0

73KB
1K SLoC

此代码库为slog生态系统添加了对外部日志的支持,以及通过这些日志进行统计跟踪的功能。

此代码库由Metaswitch Networks (@Metaswitch) 编写,并免费提供,受Apache许可证的保护。欢迎贡献

概述

外部日志是用户可以依赖的、在未明确同意的情况下不发生变化的日志API。使用它们可以将日志视为对象,而不是带有元数据的字符串,从而允许在编译时检查日志。

此存储库提供以下内容。

  • 一个用于轻松定义外部日志的API。
  • 一个用于定义要跟踪的统计值并基于外部日志修改它们的API。
  • 一个包装了slog::LoggerStatisticsLogger类型,它处理日志记录和更新跟踪的统计数据。
  • 一个xlog!宏,用于通过StatisticsLogger生成日志。
  • 一个API,用于从StatisticsLogger检索所有统计数据的当前值。

此代码库的使用

从理论上讲,可以通过让任何类型实现ExtLoggable来简单地定义外部日志。在实践中,外部日志将通过使用此存储库中的slog-extlog-derive代码库自动推导出ExtLoggable特性来生成。

然后,可以使用xlog!宏,通过使用StatisticsLogger(它是包装在slog::Logger中的,还可以跟踪统计数据)来生成日志。

有关更多详细信息,请参阅

依赖关系

~1.7–4MB
~75K SLoC