7 个不稳定版本 (3 个破坏性更新)
使用旧的 Rust 2015
0.4.0 | 2018年12月9日 |
---|---|
0.4.0-rc.2 | 2018年12月1日 |
0.3.0 | 2018年11月28日 |
0.2.2 | 2018年10月11日 |
0.1.0 | 2018年10月11日 |
#1 in #fairing
每月下载量 57
17KB
90 行
将 slog Logger 集成到您的 Rocket.rs 应用程序中
这是一个可以附加到您的 rocket.rs 应用程序的公平带,它允许在您的处理器中使用 slog Logger
安装(针对 rocket v0.3)
在您的 Cargo.toml
中,在 [dependencies]
部分,添加以下内容
rocket-slog = "0.3"
对于 2018 年版之前的 crate,请在您的 crate 根目录下添加以下内容
extern crate rocket_slog;
安装(针对 rocket 0.4)
在您的 Cargo.toml
中,在 [dependencies]
部分,添加以下内容
rocket-slog = "0.4.0-rc.2"
对于 2018 年版之前的 crate,请在您的 crate 根目录下添加以下内容
extern crate rocket_slog;
示例(针对 rocket 0.3)
以下是一个使用 rocket-slog 公平带的示例应用程序。请注意,除非您希望同时使用两个日志系统的输出,否则您可能需要禁用内置的 rocket 日志记录器。
#![feature(plugin)]
#![plugin(rocket_codegen)]
extern crate rocket;
extern crate rocket_slog;
#[macro_use(debug)] extern crate slog;
extern crate sloggers;
use std::error::Error;
use rocket::{Config};
use rocket_slog::{SyncLogger, SlogFairing};
use sloggers::{
Build,
terminal::{
TerminalLoggerBuilder,
Destination,
},
types::Severity,
};
#[get("/")]
fn index(logger: SyncLogger) -> &'static str {
debug!(logger.get(), "THIS IS A CUSTOM MESSAGE");
"hello, world"
}
fn main() -> Result<(), Box<Error>> {
let mut builder = TerminalLoggerBuilder::new();
builder.level(Severity::Debug);
builder.destination(Destination::Stderr);
let logger = builder.build()?;
let fairing = SlogFairing::new(logger);
let config = Config::development().unwrap();
rocket::custom(config, false) // disables logging
.attach(fairing)
.mount("/", routes![index])
.launch();
Ok(())
}
示例(针对 rocket 0.4)
#![feature(proc_macro_hygiene, decl_macro)]
#[macro_use] extern crate rocket;
#[macro_use(debug)] extern crate slog;
extern crate rocket_slog;
extern crate sloggers;
use std::error::Error;
use rocket::config::{Config, Environment, LoggingLevel};
use rocket_slog::{SlogFairing, SyncLogger};
use sloggers::{
Build,
terminal::{
TerminalLoggerBuilder,
Destination,
},
types::Severity,
};
#[get("/")]
fn index(log: SyncLogger) -> &'static str {
debug!(log, "some log message");
"Hello world"
}
fn main() -> Result<(), Box<Error>> {
let mut builder = TerminalLoggerBuilder::new();
builder.level(Severity::Debug);
builder.destination(Destination::Stderr);
let logger = builder.build()?;
let fairing = SlogFairing::new(logger);
let config = Config::build(Environment::Development)
.log_level(LoggingLevel::Off) // disables logging
.finalize()
.unwrap();
rocket::custom(config)
.mount("/", routes![index])
.attach(fairing)
.launch();
Ok(())
}
依赖项
~10MB
~216K SLoC