从存储库根目录打印文件路径-Rust记录器



我正试图弄清楚如何从存储库根目录打印文件路径。

https://docs.rs/env_logger/latest/env_logger/-这里的示例只讨论打印绝对文件路径的record.file()

是否有从存储库根目录(而不是从模块的Cargo.toml路径(打印它的本地方法。

我的项目组织方式如下:

root
|- module_A
|- Cargo.toml
|- src/<rest of code> 
|- module_B
|- Cargo.toml
|- src/<rest of code> 

所以,在登录时,我想将路径打印为:root/module_A/src/<file_path>

虽然cargo的包和工作区覆盖了更多的代码库,但编译器只关心单个板条箱。因此,源文件的任何概念(正如您在环境记录器使用的file!()宏中所做的那样(都将相对于机箱根。

(据我所知(没有办法改变这一点。

当您构建二进制文件时,它们可以相互独立地部署。在prod中,你只需将它们放在特定的目录中,就不会有"的概念;存储库根";或";储存库";。所以我认为记录器";原生地";支持这样的事情。

最新更新