#log-parser #quake #lib #io #game

quake_log_parser_lib

一个用于解析 Quake 游戏日志的示例库

10 个版本

0.1.9 2024年2月23日
0.1.8 2024年2月21日

7#quake

Download history 3/week @ 2024-03-12

每月 342 次下载

MIT 许可证

46KB
942

QuakeLogParserLib

一个用于解析 Quake 游戏日志的 Crate 库

该 crate 可在以下位置找到:https://crates.io/crates/quake_log_parser_lib

文档:https://docs.rs/quake_log_parser_lib/0.1.8/quake_log_parser_lib/

在此处查看项目的项目管理时间:https://wakatime.com/projects/QuakeLogParserLib

说明

将此 crate 添加到您的 Rust 应用程序中作为依赖项

cargoadd quake_log_parser_lib

作者说明

本库的开发旨在展示作者的代码整洁技能

  • 依赖倒置原则:声明一个由业务核心依赖的抽象接口。仅通过接口开发一个具体的类。将具体类注入到外部crate的公共服务类。

  • 静态配置文件:一些配置不是硬编码在源代码中,而是配置为位于 STATIC_CONFIG.json 文件中的 .json 文件。其中一些配置包括:用于日志匹配的正则表达式模式、错误消息、日志文件中使用的关键字...

  • 功能标志:动态配置,根据输出显示击杀统计、当玩家进行自杀时增加玩家的击杀分数、当玩家被杀时减少玩家的击杀分数...

  • 灵活设计:此库提供三种回调:成功、警告和错误。回调的使用使库能够以不同的方式灵活使用。

  • 未来改进:请在此存储库的“问题”部分检查此 crate 的下一步行动。

应用

使用此 crate 库的应用列表

  • 命令行应用程序: https://github.com/citrixorange/QuakeLogParserCliApp

  • 日志解析守护进程代理:一个守护进程在服务器匹配的日志文件夹中检测到新创建的日志文件时触发。解析的统计信息由 Prometheus 服务器获取并由 Graphana 实例显示。即将推出...

  • 使用 RabbitMQ、AWS S3、Kubernetes 进行日志解析水平扩展:日志文件存储和地址位于 AWS S3 实例中。RabbitMQ 发布包含日志文件 S3 地址的消息。Kubernetes HPA(水平 pod 自动扩展)使用 RabbitMQ 队列深度作为自动扩展的主要指标。新创建的 Pods 从 RabbitMQ 拉取日志文件 S3 地址,解析日志并统计信息发送到 Prometheus 服务器。即将推出...

依赖项

~6–14MB
~154K SLoC