#version #transparent #systems #structured #ports #logging #adapter

tpfs_logger_log4rs_adapter

透明系统结构化日志的端口和适配器实现

1 个不稳定版本

0.2.2 2023年2月14日

#745 in 调试

MIT/Apache

16KB
223

目录 使用 DocToc 生成

Tpfs Logger Log4rs Adapter

这是一个基于 端口和适配器 的透明系统结构化日志实现。

tpfs_logger_log4rs_adapter crate 表示 logger 端口的 Adapter 定义。

此接口旨在最大程度地简化最终用户(执行日志记录的开发者)的使用,提供同步和异步日志记录功能,以及一个非常简单的 log() 方法,只需要一个严重性和一个事件。

无需编译即可快速检查源代码

cargo check

运行构建和测试

cargo make build
cargo make test

运行代码检查

cargo make lint

运行审计

cargo make audit

发布预发布crate

请参阅版本规范以了解预发布版本:https://gitlab.com/TransparentIncDevelopment/docs/engineering-guide/blob/versioning-proposal/versioning.md

您应该使用预发布版本在另一个 crate 中测试一个概念。但这不是最终发布版本的目的。有关最终发布版本,请参阅发布crate的更改

您可以通过在 gitlab 中找到相应的流水线并点击“manual-publish-prerelease-crate”作业旁边的播放按钮来手动推送一个分支的预发布版本。预发布crate还会在合并到 master 时自动发布。

发布crate的版本更改

crate 的版本应通过 语义版本控制 维护,并且有辅助脚本来帮助更新 Cargo.toml 和 Cargo.lock 文件中的版本。此版本更改可以在 MR 被批准合并之前发生。

使用以下之一

  • cargomake publish-patch
  • cargo发布小版本
  • cargo发布大版本

为了实际发布更改,应该在合并请求合并到主分支后进行。一旦合并,从主分支拉取并rebase,然后使用脚本助手标记一个发布。

看起来可能如下所示

git checkout master
git pull
cargo make tag-release
git push --tags

理解语义版本控制

我们在我们的工程指南中有一些内容:https://gitlab.com/TransparentIncDevelopment/docs/engineering-guide/blob/versioning-proposal/versioning.md

semver的基本原理是,如果包含的唯一更改是修复和调整,则只需增加补丁版本号。如果有功能添加,则是小版本增加,如果是破坏性更改,则是大版本增加。优先级设置如下:如果有破坏性更改的大版本增加,则它将包含任何额外的功能,而无需增加小版本。对于小版本增加,也有同样的优先级。

一个例子是,如果版本号是1.0.0,并且有一些功能添加和修复,这将更新版本到1.1.0

依赖项

~5.5–8MB
~167K SLoC