Updated dependencies and made logging more readable
This commit is contained in:
parent
549a9ffd54
commit
cba16a0083
13
Cargo.toml
13
Cargo.toml
|
@ -16,15 +16,16 @@ exclude = [
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
clap = "2.24"
|
clap = "2.24"
|
||||||
|
chrono = "0.4"
|
||||||
handlebars = "0.29"
|
handlebars = "0.29"
|
||||||
serde = "1.0"
|
serde = "1.0"
|
||||||
serde_derive = "1.0"
|
serde_derive = "1.0"
|
||||||
error-chain = "0.11.0"
|
error-chain = "0.11.0"
|
||||||
serde_json = "1.0"
|
serde_json = "1.0"
|
||||||
pulldown-cmark = "0.1"
|
pulldown-cmark = "0.1"
|
||||||
lazy_static = "0.2"
|
lazy_static = "1.0"
|
||||||
log = "0.3"
|
log = "0.4"
|
||||||
env_logger = "0.4.0"
|
env_logger = "0.5.0-rc.1"
|
||||||
toml = "0.4"
|
toml = "0.4"
|
||||||
memchr = "2.0.1"
|
memchr = "2.0.1"
|
||||||
open = "1.1"
|
open = "1.1"
|
||||||
|
@ -37,8 +38,8 @@ time = { version = "0.1.34", optional = true }
|
||||||
crossbeam = { version = "0.3", optional = true }
|
crossbeam = { version = "0.3", optional = true }
|
||||||
|
|
||||||
# Serve feature
|
# Serve feature
|
||||||
iron = { version = "0.5", optional = true }
|
iron = { version = "0.6", optional = true }
|
||||||
staticfile = { version = "0.4", optional = true }
|
staticfile = { version = "0.5", optional = true }
|
||||||
ws = { version = "0.7", optional = true}
|
ws = { version = "0.7", optional = true}
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
@ -47,7 +48,7 @@ error-chain = "0.11"
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
select = "0.4"
|
select = "0.4"
|
||||||
pretty_assertions = "0.4"
|
pretty_assertions = "0.4"
|
||||||
walkdir = "1.0"
|
walkdir = "2.0"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
default = ["output", "watch", "serve"]
|
default = ["output", "watch", "serve"]
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate clap;
|
extern crate clap;
|
||||||
|
extern crate chrono;
|
||||||
extern crate env_logger;
|
extern crate env_logger;
|
||||||
extern crate error_chain;
|
extern crate error_chain;
|
||||||
extern crate log;
|
extern crate log;
|
||||||
|
@ -9,9 +10,11 @@ extern crate open;
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::ffi::OsStr;
|
use std::ffi::OsStr;
|
||||||
use std::path::{Path, PathBuf};
|
use std::path::{Path, PathBuf};
|
||||||
|
use std::io::Write;
|
||||||
use clap::{App, AppSettings, ArgMatches};
|
use clap::{App, AppSettings, ArgMatches};
|
||||||
use log::{LogLevelFilter, LogRecord};
|
use chrono::Local;
|
||||||
use env_logger::LogBuilder;
|
use log::LevelFilter;
|
||||||
|
use env_logger::Builder;
|
||||||
use error_chain::ChainedError;
|
use error_chain::ChainedError;
|
||||||
|
|
||||||
pub mod build;
|
pub mod build;
|
||||||
|
@ -67,19 +70,24 @@ fn main() {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn init_logger() {
|
fn init_logger() {
|
||||||
let format = |record: &LogRecord| {
|
let mut builder = Builder::new();
|
||||||
let module_path = record.location().module_path();
|
|
||||||
format!("{}:{}: {}", record.level(), module_path, record.args())
|
|
||||||
};
|
|
||||||
|
|
||||||
let mut builder = LogBuilder::new();
|
builder.format(|formatter, record| {
|
||||||
builder.format(format).filter(None, LogLevelFilter::Info);
|
writeln!(formatter, "{} [{}] ({}): {}",
|
||||||
|
Local::now().format("%Y-%m-%d %H:%M:%S"),
|
||||||
|
record.level(),
|
||||||
|
record.target(),
|
||||||
|
record.args())
|
||||||
|
});
|
||||||
|
|
||||||
if let Ok(var) = env::var("RUST_LOG") {
|
if let Ok(var) = env::var("RUST_LOG") {
|
||||||
builder.parse(&var);
|
builder.parse(&var);
|
||||||
|
} else {
|
||||||
|
// if no RUST_LOG provided, default to logging at the Info level
|
||||||
|
builder.filter(None, LevelFilter::Info);
|
||||||
}
|
}
|
||||||
|
|
||||||
builder.init().unwrap();
|
builder.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn get_book_dir(args: &ArgMatches) -> PathBuf {
|
fn get_book_dir(args: &ArgMatches) -> PathBuf {
|
||||||
|
|
|
@ -64,7 +64,7 @@ impl MDBook {
|
||||||
Config::default()
|
Config::default()
|
||||||
};
|
};
|
||||||
|
|
||||||
if log_enabled!(::log::LogLevel::Trace) {
|
if log_enabled!(::log::Level::Trace) {
|
||||||
for line in format!("Config: {:#?}", config).lines() {
|
for line in format!("Config: {:#?}", config).lines() {
|
||||||
trace!("{}", line);
|
trace!("{}", line);
|
||||||
}
|
}
|
||||||
|
|
|
@ -689,8 +689,6 @@ mod tests {
|
||||||
/// [example]: https://github.com/rust-lang/book/blob/2c942dc094f4ddcdc7aba7564f80782801197c99/second-edition/src/SUMMARY.md#basic-rust-literacy
|
/// [example]: https://github.com/rust-lang/book/blob/2c942dc094f4ddcdc7aba7564f80782801197c99/second-edition/src/SUMMARY.md#basic-rust-literacy
|
||||||
#[test]
|
#[test]
|
||||||
fn can_have_a_subheader_between_nested_items() {
|
fn can_have_a_subheader_between_nested_items() {
|
||||||
extern crate env_logger;
|
|
||||||
env_logger::init().ok();
|
|
||||||
let src = "- [First](./first.md)\n\n## Subheading\n\n- [Second](./second.md)\n";
|
let src = "- [First](./first.md)\n\n## Subheading\n\n- [Second](./second.md)\n";
|
||||||
let should_be = vec![
|
let should_be = vec![
|
||||||
SummaryItem::Link(Link {
|
SummaryItem::Link(Link {
|
||||||
|
|
|
@ -14,7 +14,7 @@ macro_rules! summary_md_test {
|
||||||
($name:ident, $filename:expr) => {
|
($name:ident, $filename:expr) => {
|
||||||
#[test]
|
#[test]
|
||||||
fn $name() {
|
fn $name() {
|
||||||
env_logger::init().ok();
|
env_logger::try_init().ok();
|
||||||
|
|
||||||
let filename = Path::new(env!("CARGO_MANIFEST_DIR"))
|
let filename = Path::new(env!("CARGO_MANIFEST_DIR"))
|
||||||
.join("tests")
|
.join("tests")
|
||||||
|
|
|
@ -11,7 +11,7 @@ use dummy_book::{assert_contains_strings, DummyBook};
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::path::Path;
|
use std::path::Path;
|
||||||
use std::ffi::OsStr;
|
use std::ffi::OsStr;
|
||||||
use walkdir::{DirEntry, WalkDir, WalkDirIterator};
|
use walkdir::{DirEntry, WalkDir};
|
||||||
use select::document::Document;
|
use select::document::Document;
|
||||||
use select::predicate::{Class, Name, Predicate};
|
use select::predicate::{Class, Name, Predicate};
|
||||||
use mdbook::errors::*;
|
use mdbook::errors::*;
|
||||||
|
|
Loading…
Reference in New Issue