diff --git a/src/bootstrap/logging.rs b/src/bootstrap/logging.rs index a1441827..303c5775 100644 --- a/src/bootstrap/logging.rs +++ b/src/bootstrap/logging.rs @@ -29,7 +29,7 @@ pub fn setup() { fn config_level_or_default(log_level: &Option) -> LevelFilter { match log_level { - None => log::LevelFilter::Warn, + None => log::LevelFilter::Info, Some(level) => LevelFilter::from_str(level).unwrap(), } } diff --git a/src/databases/mysql.rs b/src/databases/mysql.rs index 5e3206db..2af56f3e 100644 --- a/src/databases/mysql.rs +++ b/src/databases/mysql.rs @@ -1,7 +1,10 @@ +use std::str::FromStr; +use std::time::Duration; + use async_trait::async_trait; use chrono::NaiveDateTime; -use sqlx::mysql::MySqlPoolOptions; -use sqlx::{query, query_as, Acquire, MySqlPool}; +use sqlx::mysql::{MySqlConnectOptions, MySqlPoolOptions}; +use sqlx::{query, query_as, Acquire, ConnectOptions, MySqlPool}; use crate::databases::database; use crate::databases::database::{Category, Database, Driver, Sorting, TorrentCompact}; @@ -25,8 +28,13 @@ impl Database for Mysql { } async fn new(database_url: &str) -> Self { + let mut connection_options = MySqlConnectOptions::from_str(database_url).expect("Unable to create connection options."); + connection_options + .log_statements(log::LevelFilter::Error) + .log_slow_statements(log::LevelFilter::Warn, Duration::from_secs(1)); + let db = MySqlPoolOptions::new() - .connect(database_url) + .connect_with(connection_options) .await .expect("Unable to create database pool."); diff --git a/src/databases/sqlite.rs b/src/databases/sqlite.rs index 31bec6a2..75a10cd2 100644 --- a/src/databases/sqlite.rs +++ b/src/databases/sqlite.rs @@ -1,7 +1,10 @@ +use std::str::FromStr; +use std::time::Duration; + use async_trait::async_trait; use chrono::NaiveDateTime; -use sqlx::sqlite::SqlitePoolOptions; -use sqlx::{query, query_as, Acquire, SqlitePool}; +use sqlx::sqlite::{SqliteConnectOptions, SqlitePoolOptions}; +use sqlx::{query, query_as, Acquire, ConnectOptions, SqlitePool}; use crate::databases::database; use crate::databases::database::{Category, Database, Driver, Sorting, TorrentCompact}; @@ -25,8 +28,13 @@ impl Database for Sqlite { } async fn new(database_url: &str) -> Self { + let mut connection_options = SqliteConnectOptions::from_str(database_url).expect("Unable to create connection options."); + connection_options + .log_statements(log::LevelFilter::Error) + .log_slow_statements(log::LevelFilter::Warn, Duration::from_secs(1)); + let db = SqlitePoolOptions::new() - .connect(database_url) + .connect_with(connection_options) .await .expect("Unable to create database pool.");