Skip to content
This repository was archived by the owner on Dec 15, 2021. It is now read-only.

Commit fb3872d

Browse files
author
Alex Helfet
committed
Add log, env_logger for logging.
This also required a newer libc.
1 parent 7d06b40 commit fb3872d

File tree

3 files changed

+198
-19
lines changed

3 files changed

+198
-19
lines changed

Cargo.lock

Lines changed: 172 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,12 @@ repository = "https://github.com/japaric/itm"
1010
version = "0.1.1"
1111

1212
[dependencies]
13+
chrono = "^0.4"
1314
clap = "2.14.0"
15+
env_logger = "^0.4.3"
1416
error-chain = "0.5.0"
15-
libc = "0.2.17"
17+
libc = "^0.2.17"
18+
log = "^0.3.8"
1619
ref_slice = "1.1.0"
1720

1821
[dev-dependencies]

src/bin/itmdump.rs

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
extern crate chrono;
12
extern crate clap;
2-
extern crate libc;
3-
extern crate ref_slice;
4-
3+
extern crate env_logger;
54
#[macro_use]
65
extern crate error_chain;
6+
extern crate libc;
7+
#[macro_use]
8+
extern crate log;
9+
extern crate ref_slice;
710

811
use std::io::{Read, Write};
912
use std::path::PathBuf;
@@ -21,6 +24,7 @@ use std::fs::File;
2124
use std::os::unix::ffi::OsStringExt;
2225

2326
use clap::{App, Arg};
27+
use log::{LogRecord, LogLevelFilter};
2428
use ref_slice::ref_slice_mut;
2529

2630
use errors::*;
@@ -30,6 +34,21 @@ mod errors {
3034
}
3135

3236
fn main() {
37+
// Initialise logging.
38+
env_logger::LogBuilder::new()
39+
.format(|r: &LogRecord|
40+
format!("\n{time} {lvl} {mod} @{file}:{line}\n {args}",
41+
time = chrono::Utc::now().format("%Y-%m-%d %H:%M:%S%.3f_UTC"),
42+
lvl = r.level(),
43+
mod = r.location().module_path(),
44+
file = r.location().file(),
45+
line = r.location().line(),
46+
args = r.args())
47+
)
48+
.filter(None, LogLevelFilter::Info)
49+
.parse(&env::var("RUST_LOG").unwrap_or(String::from("")))
50+
.init().unwrap();
51+
3352
fn show_backtrace() -> bool {
3453
env::var("RUST_BACKTRACE").as_ref().map(|s| &s[..]) == Ok("1")
3554
}

0 commit comments

Comments
 (0)