add basic logging
This commit is contained in:
parent
25760146a3
commit
39aeae7a69
87
Cargo.lock
generated
87
Cargo.lock
generated
@ -987,6 +987,12 @@ dependencies = [
|
||||
"wasm-bindgen",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "lazy_static"
|
||||
version = "1.4.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
|
||||
|
||||
[[package]]
|
||||
name = "libc"
|
||||
version = "0.2.153"
|
||||
@ -1083,6 +1089,8 @@ dependencies = [
|
||||
"tokio",
|
||||
"tokio-stream",
|
||||
"toml",
|
||||
"tracing",
|
||||
"tracing-subscriber",
|
||||
"url",
|
||||
"urlencoding",
|
||||
]
|
||||
@ -1119,6 +1127,16 @@ version = "1.0.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
|
||||
|
||||
[[package]]
|
||||
name = "nu-ansi-term"
|
||||
version = "0.46.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84"
|
||||
dependencies = [
|
||||
"overload",
|
||||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "num-bigint"
|
||||
version = "0.4.4"
|
||||
@ -1228,6 +1246,12 @@ version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
|
||||
|
||||
[[package]]
|
||||
name = "overload"
|
||||
version = "0.1.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
||||
|
||||
[[package]]
|
||||
name = "parking_lot"
|
||||
version = "0.12.1"
|
||||
@ -1837,6 +1861,15 @@ dependencies = [
|
||||
"digest",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sharded-slab"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6"
|
||||
dependencies = [
|
||||
"lazy_static",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "shellexpand"
|
||||
version = "3.1.0"
|
||||
@ -2016,6 +2049,16 @@ dependencies = [
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "thread_local"
|
||||
version = "1.1.8"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
"once_cell",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tinyvec"
|
||||
version = "1.6.0"
|
||||
@ -2161,9 +2204,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
|
||||
dependencies = [
|
||||
"pin-project-lite",
|
||||
"tracing-attributes",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-attributes"
|
||||
version = "0.1.27"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.52",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-core"
|
||||
version = "0.1.32"
|
||||
@ -2171,6 +2226,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"valuable",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-log"
|
||||
version = "0.2.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3"
|
||||
dependencies = [
|
||||
"log",
|
||||
"once_cell",
|
||||
"tracing-core",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "tracing-subscriber"
|
||||
version = "0.3.18"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b"
|
||||
dependencies = [
|
||||
"nu-ansi-term",
|
||||
"sharded-slab",
|
||||
"smallvec",
|
||||
"thread_local",
|
||||
"tracing-core",
|
||||
"tracing-log",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2262,6 +2343,12 @@ version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "86bd8d4e895da8537e5315b8254664e6b769c4ff3db18321b297a1e7004392e3"
|
||||
|
||||
[[package]]
|
||||
name = "valuable"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
|
||||
|
||||
[[package]]
|
||||
name = "version_check"
|
||||
version = "0.9.4"
|
||||
|
@ -39,5 +39,7 @@ serde_json = "1.0.114"
|
||||
tokio = { version = "1.36.0", features = ["rt", "macros"] }
|
||||
tokio-stream = "0.1.15"
|
||||
toml = { version = "0.8.12", default-features = false, features = ["parse"] }
|
||||
tracing = "0.1.40"
|
||||
tracing-subscriber = "0.3.18"
|
||||
url = "2.5.0"
|
||||
urlencoding = "2.1.3"
|
||||
|
@ -2,6 +2,7 @@ use std::{collections::HashMap, fs, net::SocketAddr, path::Path};
|
||||
|
||||
use once_cell::sync::Lazy;
|
||||
use serde::Deserialize;
|
||||
use tracing::info;
|
||||
|
||||
use crate::engines::Engine;
|
||||
|
||||
@ -22,7 +23,7 @@ impl Config {
|
||||
config.update(given_config);
|
||||
Ok(config)
|
||||
} else {
|
||||
println!("No config found, creating one at {config_path:?}");
|
||||
info!("No config found, creating one at {config_path:?}");
|
||||
fs::write(config_path, default_config_str)?;
|
||||
Ok(config)
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ use numbat::{
|
||||
InterpreterResult, InterpreterSettings, Statement,
|
||||
};
|
||||
use once_cell::sync::Lazy;
|
||||
use tracing::debug;
|
||||
|
||||
use crate::engines::EngineResponse;
|
||||
|
||||
@ -94,7 +95,7 @@ fn interpret(query: &str) -> Option<(Statement, Markup)> {
|
||||
) {
|
||||
Ok(r) => r,
|
||||
Err(err) => {
|
||||
eprintln!("numbat error: {}", err);
|
||||
debug!("numbat error: {err}");
|
||||
return None;
|
||||
}
|
||||
};
|
||||
|
@ -1,6 +1,7 @@
|
||||
use eyre::eyre;
|
||||
use scraper::{Html, Selector};
|
||||
use serde::Deserialize;
|
||||
use tracing::error;
|
||||
use url::Url;
|
||||
|
||||
use crate::engines::{EngineResponse, RequestResponse, CLIENT};
|
||||
@ -134,7 +135,7 @@ fn parse_thesaurus_com_item(
|
||||
weak_matches = matches;
|
||||
}
|
||||
_ => {
|
||||
eprintln!("Unknown thesaurus match type: {match_type}");
|
||||
error!("Unknown thesaurus match type: {match_type}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
use chrono::{DateTime, TimeZone};
|
||||
use chrono_tz::{OffsetComponents, OffsetName, Tz};
|
||||
use chrono_tz::{OffsetComponents, Tz};
|
||||
|
||||
use crate::engines::EngineResponse;
|
||||
|
||||
@ -77,12 +77,6 @@ fn evaluate(query: &str) -> Option<TimeResponse> {
|
||||
let source_offset = source_timezone.offset_from_utc_date(¤t_date);
|
||||
let target_offset = target_timezone.offset_from_utc_date(¤t_date);
|
||||
|
||||
println!(
|
||||
"source_offset: {source_offset:?} {:?}",
|
||||
source_offset.tz_id()
|
||||
);
|
||||
println!("target_offset: {target_offset:?}");
|
||||
|
||||
let source_time_naive = current_date.and_hms_opt(
|
||||
if ampm == "pm" && hour != 12 {
|
||||
hour + 12
|
||||
|
@ -13,6 +13,7 @@ use once_cell::sync::Lazy;
|
||||
use reqwest::header::HeaderMap;
|
||||
use serde::{Deserialize, Deserializer};
|
||||
use tokio::sync::mpsc;
|
||||
use tracing::{error, info};
|
||||
|
||||
mod macros;
|
||||
use crate::{
|
||||
@ -246,12 +247,15 @@ impl ProgressUpdate {
|
||||
}
|
||||
}
|
||||
|
||||
#[tracing::instrument(fields(query = %query.query), skip(progress_tx))]
|
||||
pub async fn search(
|
||||
query: &SearchQuery,
|
||||
progress_tx: mpsc::UnboundedSender<ProgressUpdate>,
|
||||
) -> eyre::Result<()> {
|
||||
let start_time = Instant::now();
|
||||
|
||||
info!("Doing search");
|
||||
|
||||
let progress_tx = &progress_tx;
|
||||
|
||||
let mut requests = Vec::new();
|
||||
@ -303,7 +307,7 @@ pub async fn search(
|
||||
let response = match engine.parse_response(&http_response) {
|
||||
Ok(response) => response,
|
||||
Err(e) => {
|
||||
eprintln!("parse error: {e}");
|
||||
error!("parse error: {e}");
|
||||
EngineResponse::new()
|
||||
}
|
||||
};
|
||||
@ -368,7 +372,7 @@ pub async fn search(
|
||||
engine.postsearch_parse_response(&http_response)
|
||||
}
|
||||
Err(e) => {
|
||||
eprintln!("postsearch request error: {e}");
|
||||
error!("postsearch request error: {e}");
|
||||
None
|
||||
}
|
||||
};
|
||||
|
@ -1,5 +1,6 @@
|
||||
use reqwest::Url;
|
||||
use serde::Deserialize;
|
||||
use tracing::error;
|
||||
|
||||
use crate::{
|
||||
engines::{Engine, EngineResponse, RequestResponse, SearchQuery, CLIENT},
|
||||
@ -29,7 +30,7 @@ pub fn request(query: &SearchQuery) -> RequestResponse {
|
||||
let config: MarginaliaConfig = match toml::Value::Table(config_toml).try_into() {
|
||||
Ok(args) => args,
|
||||
Err(err) => {
|
||||
eprintln!("Failed to parse Marginalia config: {err}");
|
||||
error!("Failed to parse Marginalia config: {err}");
|
||||
return RequestResponse::None;
|
||||
}
|
||||
};
|
||||
|
@ -1,4 +1,5 @@
|
||||
use config::Config;
|
||||
use tracing::error;
|
||||
|
||||
pub mod config;
|
||||
pub mod engines;
|
||||
@ -8,10 +9,12 @@ pub mod web;
|
||||
|
||||
#[tokio::main(flavor = "current_thread")]
|
||||
async fn main() {
|
||||
tracing_subscriber::fmt::init();
|
||||
|
||||
let config = match Config::read_or_create() {
|
||||
Ok(config) => config,
|
||||
Err(err) => {
|
||||
eprintln!("Couldn't parse config:\n{err}");
|
||||
error!("Couldn't parse config:\n{err}");
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
@ -1,3 +1,4 @@
|
||||
use tracing::error;
|
||||
use url::Url;
|
||||
|
||||
pub fn normalize_url(url: &str) -> eyre::Result<String> {
|
||||
@ -7,7 +8,7 @@ pub fn normalize_url(url: &str) -> eyre::Result<String> {
|
||||
}
|
||||
|
||||
let Ok(mut url) = Url::parse(url) else {
|
||||
eprintln!("failed to parse url: {url}");
|
||||
error!("failed to parse url: {url}");
|
||||
return Ok(url.to_string());
|
||||
};
|
||||
|
||||
|
@ -6,6 +6,7 @@ use axum::{
|
||||
response::IntoResponse,
|
||||
Json,
|
||||
};
|
||||
use tracing::error;
|
||||
|
||||
use crate::{config::Config, engines};
|
||||
|
||||
@ -22,7 +23,7 @@ pub async fn route(
|
||||
let res = match engines::autocomplete(&config, &query).await {
|
||||
Ok(res) => res,
|
||||
Err(err) => {
|
||||
eprintln!("Autocomplete error for {query}: {err}");
|
||||
error!("Autocomplete error for {query}: {err}");
|
||||
return (StatusCode::INTERNAL_SERVER_ERROR, Json((query, vec![])));
|
||||
}
|
||||
};
|
||||
|
@ -5,6 +5,7 @@ pub mod search;
|
||||
use std::{net::SocketAddr, sync::Arc};
|
||||
|
||||
use axum::{http::header, routing::get, Router};
|
||||
use tracing::info;
|
||||
|
||||
use crate::config::Config;
|
||||
|
||||
@ -53,7 +54,7 @@ pub async fn run(config: Config) {
|
||||
.route("/autocomplete", get(autocomplete::route))
|
||||
.with_state(Arc::new(config));
|
||||
|
||||
println!("Listening on {bind_addr}");
|
||||
info!("Listening on {bind_addr}");
|
||||
|
||||
let listener = tokio::net::TcpListener::bind(bind_addr).await.unwrap();
|
||||
axum::serve(
|
||||
|
@ -207,7 +207,7 @@ pub async fn route(
|
||||
|
||||
let (progress_tx, mut progress_rx) = tokio::sync::mpsc::unbounded_channel();
|
||||
|
||||
let search_future = tokio::spawn(async move { engines::search( &query, progress_tx).await });
|
||||
let search_future = tokio::spawn(async move { engines::search(&query, progress_tx).await });
|
||||
|
||||
while let Some(progress_update) = progress_rx.recv().await {
|
||||
match progress_update.data {
|
||||
|
Loading…
Reference in New Issue
Block a user