improved logging

This commit is contained in:
2026-01-15 22:58:39 +01:00
parent c27ddba0ff
commit 376353833c
6 changed files with 121 additions and 39 deletions

View File

@@ -19,6 +19,7 @@ use tower_http::{
};
use tracing::Level;
use tracing::info;
use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt};
mod auth;
mod db;
@@ -58,11 +59,24 @@ pub struct Cli {
async fn main() -> anyhow::Result<()> {
let cli = Cli::parse();
tracing_subscriber::fmt()
.with_max_level(tracing::Level::INFO)
let log_level = if cli.verbose { "debug" } else { "info" };
tracing_subscriber::registry()
.with(
tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| {
format!(
"{}={},tower_http={},sqlx=warn",
env!("CARGO_CRATE_NAME"),
log_level,
log_level
)
.into()
}),
)
.with(tracing_subscriber::fmt::layer())
.init();
tracing::info!("Connecting to database...");
// tracing::info!("Database connection is lazy, it may be unreachable");
let db_pool = db::init_db(cli.database).await?;
let cors = CorsLayer::new()
@@ -96,7 +110,7 @@ async fn main() -> anyhow::Result<()> {
prohibit_registration: cli.no_registration,
});
let mut app = Router::new()
let app = Router::new()
.route("/version", get(get_version))
.merge(routes::users::routes())
.merge(routes::rooms::routes())
@@ -107,16 +121,13 @@ async fn main() -> anyhow::Result<()> {
.layer(Extension(realtime))
.layer(Extension(config))
.layer(GovernorLayer::new(governor_conf))
.layer(cors);
if cli.verbose {
app = app.layer(
.layer(cors)
.layer(
TraceLayer::new_for_http()
.make_span_with(DefaultMakeSpan::new().level(Level::INFO))
.on_response(DefaultOnResponse::new().level(Level::INFO)),
)
// .layer(middleware::from_fn(log_json_body));
}
.make_span_with(DefaultMakeSpan::new().level(Level::DEBUG))
.on_request(())
.on_response(DefaultOnResponse::new().level(Level::DEBUG)),
);
let port = cli.port;
let addr = format!("0.0.0.0:{port}");