introduce logging to important functions
This commit is contained in:
parent
2424f4de77
commit
ed7c493b64
6 changed files with 20 additions and 18 deletions
|
|
@ -106,6 +106,7 @@ async fn bot_download(bot: Bot, msg: Message, url: String) -> HandlerResult {
|
|||
let output_path = match download(url.as_str()).await {
|
||||
Ok(path) => path,
|
||||
Err(e) => {
|
||||
event!(Level::ERROR, "{}", e.to_string());
|
||||
bot.send_message(msg.chat.id, e.to_string()).await?;
|
||||
return Ok(());
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@ pub fn log_init() {
|
|||
.with_writer(io::stderr)
|
||||
.with_filter(LevelFilter::ERROR);
|
||||
|
||||
let file_layer = fmt::layer().with_writer(log_appender);
|
||||
let file_layer = fmt::layer()
|
||||
.with_writer(log_appender)
|
||||
.with_filter(LevelFilter::INFO);
|
||||
|
||||
tracing_subscriber::registry()
|
||||
.with(stderr_layer)
|
||||
|
|
|
|||
|
|
@ -16,12 +16,3 @@ pub fn make_database_url() -> String {
|
|||
let path = Path::new(VAR_LIB).join("mk-dl-bot.db");
|
||||
format!("sqlite://{}", path.as_os_str().to_str().unwrap()).to_string()
|
||||
}
|
||||
|
||||
pub fn make_log_path() -> String {
|
||||
Path::new(VAR_LOG)
|
||||
.join("mk-dl-bot.log")
|
||||
.as_os_str()
|
||||
.to_str()
|
||||
.unwrap()
|
||||
.to_string()
|
||||
}
|
||||
|
|
|
|||
10
src/dl.rs
10
src/dl.rs
|
|
@ -1,8 +1,6 @@
|
|||
use std::fmt;
|
||||
use std::fs;
|
||||
use std::path::Path;
|
||||
|
||||
use teloxide::types::Message;
|
||||
use tracing::{event, Level};
|
||||
|
||||
use self::spawn::SpawnError;
|
||||
use self::yt_dlp::{YtDlp, YtDlpError, YtDlpFormat, YtDlpInfo};
|
||||
|
|
@ -60,11 +58,15 @@ fn file_exists(path: &str) -> bool {
|
|||
|
||||
pub fn delete_if_exists(path: &str) {
|
||||
if file_exists(path) {
|
||||
fs::remove_file(path);
|
||||
if let Err(e) = fs::remove_file(path) {
|
||||
event!(Level::ERROR, "{}", e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn download(url: &str) -> Result<String, DownloadError> {
|
||||
event!(Level::INFO, "url {}", url);
|
||||
|
||||
let info = YtDlp::load_info(url).await?;
|
||||
let av = match info.best_av_format() {
|
||||
Some(av) => av,
|
||||
|
|
|
|||
|
|
@ -36,8 +36,7 @@ impl fmt::Display for SpawnError {
|
|||
|
||||
/* !!! The argument list could be exploited in a way to inject malicious arguments !!!
|
||||
!!! and alter the way program executes and/or gain access to system !!! */
|
||||
pub async fn spawn(program: &str, args: &[&str]) -> Result<Output, SpawnError>
|
||||
{
|
||||
pub async fn spawn(program: &str, args: &[&str]) -> Result<Output, SpawnError> {
|
||||
{
|
||||
let cmd_args = args.join(" ");
|
||||
event!(Level::INFO, "{} {}", program, cmd_args);
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ use ordered_float::OrderedFloat;
|
|||
use serde::Deserialize;
|
||||
use serde_json;
|
||||
use std::fs;
|
||||
use tracing::{event, Level};
|
||||
|
||||
#[derive(Deserialize, Debug)]
|
||||
pub struct YtDlpFormat {
|
||||
|
|
@ -106,7 +107,10 @@ impl YtDlpInfo {
|
|||
|
||||
match format {
|
||||
Some(vf) => Some(vf.format),
|
||||
None => None,
|
||||
None => {
|
||||
event!(Level::ERROR, "no av format for {}", self.id);
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -124,7 +128,10 @@ impl YtDlpInfo {
|
|||
|
||||
match format {
|
||||
Some(af) => Some(af.format),
|
||||
None => None,
|
||||
None => {
|
||||
event!(Level::ERROR, "no audio format for {}", self.id);
|
||||
None
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue