Skip to content

Commit 86dd166

Browse files
committed
migrate to using tracing instead of log
1 parent 52932db commit 86dd166

File tree

25 files changed

+173
-119
lines changed

25 files changed

+173
-119
lines changed

Cargo.lock

Lines changed: 88 additions & 27 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 & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,13 @@ consistency_check = ["crates-index", "rayon"]
2020

2121
[dependencies]
2222
sentry = "0.27.0"
23-
sentry-log = "0.27.0"
2423
sentry-panic = "0.27.0"
24+
sentry-tracing = "0.27.0"
2525
sentry-anyhow = { version = "0.27.0", features = ["backtrace"] }
2626
log = "0.4"
27+
tracing = "0.1.37"
28+
tracing-subscriber = { version = "0.3.16", default-features = false, features = ["ansi", "fmt", "env-filter"] }
29+
tracing-log = "0.1.3"
2730
regex = "1"
2831
structopt = "0.3"
2932
crates-index = { version = "0.18.5", optional = true }
@@ -32,7 +35,6 @@ crates-index-diff = "10.0.0"
3235
reqwest = { version = "0.11", features = ["blocking", "json"] } # TODO: Remove blocking when async is ready
3336
semver = { version = "1.0.4", features = ["serde"] }
3437
slug = "0.1.1"
35-
env_logger = "0.9.0"
3638
r2d2 = "0.8"
3739
r2d2_postgres = "0.18"
3840
# iron needs url@1, but it reexports it as iron::url, so we can start using

src/bin/cratesfyi.rs

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
use std::env;
22
use std::fmt::Write;
33
use std::path::PathBuf;
4+
use std::str::FromStr;
45
use std::sync::Arc;
56

67
use anyhow::{anyhow, Context as _, Error, Result};
@@ -14,14 +15,28 @@ use docs_rs::{
1415
BuildQueue, Config, Context, Index, Metrics, PackageKind, RustwideBuilder, Server, Storage,
1516
};
1617
use once_cell::sync::OnceCell;
17-
use sentry_log::SentryLogger;
1818
use structopt::StructOpt;
1919
use strum::VariantNames;
2020
use tokio::runtime::Runtime;
21+
use tracing_log::LogTracer;
22+
use tracing_subscriber::{filter::Directive, prelude::*, EnvFilter};
2123

2224
fn main() {
25+
// set the global log::logger for backwards compatibility
26+
// through rustwide.
27+
rustwide::logging::init_with(LogTracer::new());
28+
29+
let tracing_registry = tracing_subscriber::registry()
30+
.with(tracing_subscriber::fmt::layer())
31+
.with(
32+
EnvFilter::builder()
33+
.with_default_directive(Directive::from_str("docs_rs=info").unwrap())
34+
.with_env_var("DOCSRS_LOG")
35+
.from_env_lossy(),
36+
);
37+
2338
let _sentry_guard = if let Ok(sentry_dsn) = env::var("SENTRY_DSN") {
24-
rustwide::logging::init_with(SentryLogger::with_dest(logger_init()));
39+
tracing_registry.with(sentry_tracing::layer()).init();
2540
Some(sentry::init((
2641
sentry_dsn,
2742
sentry::ClientOptions {
@@ -32,7 +47,7 @@ fn main() {
3247
.add_integration(sentry_panic::PanicIntegration::default()),
3348
)))
3449
} else {
35-
rustwide::logging::init_with(logger_init());
50+
tracing_registry.init();
3651
None
3752
};
3853

@@ -56,24 +71,6 @@ fn main() {
5671
}
5772
}
5873

59-
fn logger_init() -> env_logger::Logger {
60-
use std::io::Write;
61-
62-
let env = env_logger::Env::default().filter_or("DOCSRS_LOG", "docs_rs=info");
63-
env_logger::Builder::from_env(env)
64-
.format(|buf, record| {
65-
writeln!(
66-
buf,
67-
"{} [{}] {}: {}",
68-
time::now().strftime("%Y/%m/%d %H:%M:%S").unwrap(),
69-
record.level(),
70-
record.target(),
71-
record.args()
72-
)
73-
})
74-
.build()
75-
}
76-
7774
#[derive(Debug, Clone, Copy, PartialEq, Eq, strum::EnumString, strum::EnumVariantNames)]
7875
#[strum(serialize_all = "snake_case")]
7976
enum Toggle {

src/build_queue.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::{Config, Index, Metrics, RustwideBuilder};
88
use anyhow::Context;
99

1010
use crates_index_diff::Change;
11-
use log::{debug, info};
11+
use tracing::{debug, info};
1212

1313
use git2::Oid;
1414
use std::sync::Arc;
@@ -239,7 +239,7 @@ fn retry<T>(mut f: impl FnMut() -> Result<T>, max_attempts: u32) -> Result<T> {
239239
return Err(err);
240240
} else {
241241
let sleep_for = 2u32.pow(attempt);
242-
log::warn!(
242+
tracing::warn!(
243243
"got error on attempt {}, will try again after {}s:\n{:?}",
244244
attempt,
245245
sleep_for,

src/config.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ where
205205
.map(Some)
206206
.with_context(|| format!("failed to parse configuration variable {}", var))?),
207207
Err(VarError::NotPresent) => {
208-
log::trace!("optional configuration variable {} is not set", var);
208+
tracing::trace!("optional configuration variable {} is not set", var);
209209
Ok(None)
210210
}
211211
Err(VarError::NotUnicode(_)) => Err(anyhow!("configuration variable {} is not UTF-8", var)),

src/db/add_package.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ use crate::{
88
web::crate_details::CrateDetails,
99
};
1010
use anyhow::{anyhow, Context};
11-
use log::{debug, info};
1211
use postgres::Client;
1312
use serde_json::Value;
1413
use slug::slugify;
@@ -18,6 +17,7 @@ use std::{
1817
io::{BufRead, BufReader},
1918
path::Path,
2019
};
20+
use tracing::{debug, info};
2121

2222
/// Adds a package into database.
2323
///

0 commit comments

Comments
 (0)