Skip to content

Commit 88990f3

Browse files
Valuable work
1 parent 8b9c393 commit 88990f3

File tree

6 files changed

+84
-115
lines changed

6 files changed

+84
-115
lines changed

.cargo/config.toml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[build]
2+
rustflags = ["--cfg=tracing_unstable"]

Cargo.lock

+55-82
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

+2-1
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ reqwest = { version = "0.12", features = ["json", "trust-dns", "rustls-tls-webpk
99
axum = { version = "0.7", features = ["tokio", "http1", "http2", "query"], default-features = false }
1010
tower-http = { version = "0.5", default-features = false, features = ["tracing", "fs"] }
1111
tokio = { version = "1", features = ["rt-multi-thread", "macros", "signal"] }
12-
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
12+
tracing-subscriber = { version = "0.3", features = ["json"] }
1313
askama = { version = "0.12", features = ["with-axum"] }
14+
valuable = { version = "0.1", features = ["derive"] }
1415
bustdir = { version = "0.1", features = ["askama"] }
1516
serde = { version = "1", features = ["derive"] }
1617
pyng = { path = "pyng" }

src/main.rs

+6-15
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ use serde::{Deserialize, Serialize};
3232
use tokio::net::TcpListener;
3333
use tower::ServiceBuilder;
3434
use tower_http::services::ServeDir;
35-
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
35+
use valuable::Valuable;
3636

3737
use crate::{
3838
executor::{ping_bedrock, ping_java},
@@ -47,7 +47,7 @@ const DEFAULT_PORT: u16 = 8080;
4747

4848
#[tokio::main]
4949
async fn main() {
50-
start_tracing();
50+
tracing_subscriber::fmt().json().init();
5151
let asset_dir = std::env::var("ASSET_DIR").unwrap_or_else(|_| "./assets/".to_owned());
5252
let root_url = valk_utils::get_var("ROOT_URL");
5353
let root_url = root_url.trim_end_matches('/').to_owned();
@@ -70,7 +70,10 @@ async fn main() {
7070
info!("Fetching minecraft server status");
7171
let current_mcstatus: Arc<RwLock<ServicesResponse>> =
7272
Arc::new(RwLock::new(get_mcstatus(http_client.clone()).await));
73-
info!(?current_mcstatus, "Got minecraft server status");
73+
info!(
74+
status = current_mcstatus.read().as_value(),
75+
"Got mojang service status"
76+
);
7477
tokio::spawn(refresh_mcstatus(http_client, Arc::clone(&current_mcstatus)));
7578

7679
let state = AppState {
@@ -464,15 +467,3 @@ impl IntoResponse for Png {
464467
(headers, self.0).into_response()
465468
}
466469
}
467-
468-
fn start_tracing() {
469-
let env_filter = tracing_subscriber::EnvFilter::builder()
470-
.with_default_directive(concat!(env!("CARGO_PKG_NAME"), "=debug").parse().unwrap())
471-
.with_env_var("LOG")
472-
.from_env()
473-
.expect("failed to parse env");
474-
tracing_subscriber::registry()
475-
.with(tracing_subscriber::fmt::layer())
476-
.with(env_filter)
477-
.init();
478-
}

src/services.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ use axum::extract::State;
44
use parking_lot::RwLock;
55
use reqwest::Client;
66
use tokio::{join, select};
7+
use tracing_core::field::valuable;
78

89
use crate::{
910
structures::{
@@ -178,7 +179,7 @@ async fn get_minecraft(client: Client) -> Status {
178179
if data.as_slice() == expected {
179180
Status::Operational
180181
} else {
181-
warn!(expected = ?expected, data = ?data, "Got non-matching Minecraft API data");
182+
warn!(expected = ?expected, data = valuable(&data), "Got non-matching Minecraft API data");
182183
Status::PossibleProblems
183184
}
184185
}

0 commit comments

Comments
 (0)