#slog #env #env-var #opinionated #configurable #log-format #builder

日志环境配置

具有见解的 slog 排水构建器,可通过环境变量配置

10 个版本 (5 个重大更改)

0.6.0 2019 年 10 月 11 日
0.5.0 2019 年 10 月 8 日
0.4.0 2019 年 10 月 7 日
0.3.0 2019 年 10 月 7 日
0.1.3 2019 年 5 月 31 日

#691 in 调试

MIT 许可证

20KB
436 代码行

日志环境配置

crates.io docs.rs Build Status

具有见解的 slog 排水构建器,可通过环境变量配置。

描述

这个crate构建了一个写入stdout的slog Drain。它设计得易于使用,并具有合理的默认值。日志记录的格式可以通过LOG_FORMAT环境变量在运行时进行配置。

LOG_FORMAT的可能值包括

  • 终端(默认值)
  • json

开发环境中,您只是手动运行可执行文件,没有集中式日志记录,您将依赖于可读的日志输出。在部署时,相反,集中式日志记录系统可以充分利用JSON格式的日志,因此可以设置LOG_FORMAT=json。该配置在运行时,因此您只需管理单个构建工件即可满足这两种情况。

这个crate旨在成为一个具有见解的解决方案,目前没有其他配置可用。然而,如果理由充分,我愿意添加其他调整。

使用方法

以下是一个最小的完整main.rs示例

use slog::{info, o};

fn main() {
    let drain = slog_env_cfg::logger_from_env(o!()).expect("initialization error");
    info!(root, "formatted: {}", 1; "log-key" => true);
}

依赖项

~4–13MB
~145K SLoC