2 个稳定版本
1.0.1 | 2022年11月7日 |
---|
#193 in #grpc
55KB
556 代码行
CodeCTRL Rust 日志记录器
基于 Rust 的日志记录器,用于与 CodeCTRL 集成。
这个项目的目的是什么?
这个日志记录器和 CodeCTRL 的总体目的是更好地理解控制流、数据,并在基于 Rust 的项目中找到潜在的 UB。
我们在 Authentura 使用 CodeCTRL 及其语言日志记录器来帮助我们进行代码分析服务:包括 Rust。
它是如何工作的?
此日志记录器(以及官方日志记录器中的其余部分)连接到 CodeCTRL 兼容的 gRPC 服务器,并在代码中的指定点发送用户创建的日志。然后,CodeCTRL 前端可以连接到这些相同的 gRPC 服务器,并接收发送到该服务器的日志副本。
此 Rust 实现使用名为 tonic
的 crate 连接到 gRPC 服务器,这是一个方便的 crate,可以生成到 gRPC 服务器的通用接口,并连接到这些 gRPC 服务器。
示例
以下是如何使用此 crate 的快速示例
use codectrl::{Logger, LoggerError};
use tokio::runtime::Handle;
fn main() -> anyhow::Result<()> {
fn inner() -> Result<(), LoggerError> {
Logger::log("Hello, world!", None, None, None, None)
}
inner()?;
Ok(())
}
这将产生以下输出,在 CodeCTRL 的详细信息面板中
依赖项
~8–19MB
~247K SLoC