7个版本 (4个重大更改)
使用旧Rust 2015
0.4.0 | 2017年12月5日 |
---|---|
0.3.0 | 2017年1月18日 |
0.2.0 | 2016年11月2日 |
0.1.0 | 2016年7月25日 |
0.0.1 | 2014年12月3日 |
#484 in HTTP服务器
1,147每月下载量
用于 10 crates
14KB
204 行
logger
Morgan启发的Iron Web框架的日志中间件。
示例
extern crate iron;
extern crate logger;
use iron::prelude::*;
use logger::Logger;
fn main() {
let (logger_before, logger_after) = Logger::new(None);
let mut chain = Chain::new(no_op_handler);
// Link logger_before as your first before middleware.
chain.link_before(logger_before);
// Link logger_after as your *last* after middleware.
chain.link_after(logger_after);
Iron::new(chain).http("127.0.0.1:3000").unwrap();
}
fn no_op_handler(_: &mut Request) -> IronResult<Response> {
Ok(Response::with(iron::status::Ok))
}
概述
Logger是Iron 核心包的一部分。
Logger使用标准的Rust 日志门面来发射请求和响应信息,格式化为默认格式或自定义格式字符串。
格式字符串可以指定要记录的字段(自#82以来不再支持ANSI终端颜色和属性)。
安装
如果你使用Cargo.toml
来管理依赖关系,只需将logger添加到toml
[dependencies.logger]
git = "https://github.com/iron/logger.git"
否则,运行cargo build
,rlib将位于你的target
目录中。
文档
除了在线文档外,你还可以使用make doc
构建本地副本。
示例
日志实现
要实际记录任何内容,您需要使用一些日志实现,将这些日志发送到您希望的位置,例如标准错误输出、文件或日志收集服务。这不是 iron-logger 单独的责任。有众多这样的实现可供选择,从简单的只写入标准错误的实现,如 env_logger,到更可配置的实现,如 simplelog,再到终极解决方案 slog。您可以在 crates.io 上找到更多信息。
如果您正在寻找现成的解决方案,只需参考 env_logger 的示例。
寻求帮助
我们中的一员(@reem,@zzmp,@theptrk,@mcreinhard)通常在 mozilla irc 的 #iron
上。来打个招呼并提问您可能有的任何问题。我们通常也在 #rust
和 #rust-webdev
上。
依赖项
~4.5MB
~113K SLoC