From 7220d1fd3795a6ec5339ade2c8c9f8fa0718dbd3 Mon Sep 17 00:00:00 2001 From: cel 🌸 Date: Thu, 5 Jun 2025 15:59:38 +0100 Subject: feat: logging --- src/db.rs | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/db.rs b/src/db.rs index 373b7ca..22bbdd1 100644 --- a/src/db.rs +++ b/src/db.rs @@ -1,7 +1,12 @@ -use std::{collections::HashSet, path::Path}; +use std::{collections::HashSet, ffi::c_int, path::Path}; use chrono::NaiveDateTime; -use rusqlite::{params, params_from_iter, Connection, ToSql}; +use rusqlite::{ + params, params_from_iter, + trace::{config_log, TraceEvent, TraceEventCodes}, + Connection, ToSql, +}; +use tracing::{debug, info}; use uuid::Uuid; use crate::{ @@ -12,6 +17,21 @@ use crate::{ struct Db(Connection); +fn log(int: c_int, log: &str) { + info!("sqlite: {}", log); +} + +fn trace_fn(event: &str) { + debug!("sqlite: {}", event); + // match event { + // TraceEvent::Stmt(stmt_ref, _) => debug!("sqlite: {}", stmt_ref.sql()), + // TraceEvent::Profile(stmt_ref, duration) => {} + // TraceEvent::Row(stmt_ref) => debug!("sqlite: {}", stmt_ref.sql()), + // TraceEvent::Close(conn_ref) => {} + // _ => {} + // } +} + impl Db { pub fn create_connect_and_migrate( path: impl AsRef, @@ -41,7 +61,11 @@ impl Db { } pub fn create_connect_memory() -> std::result::Result { - let db = Connection::open_in_memory()?; + let mut db = Connection::open_in_memory()?; + db.trace(Some(trace_fn)); + // unsafe { + // config_log(Some(log))?; + // } db.execute_batch(include_str!("../migrations/1.sql"))?; Ok(Self(db)) } @@ -239,6 +263,8 @@ impl ToSql for LogFilter { mod tests { use std::collections::HashSet; + use test_log::test; + use crate::task::{Category, Task}; use super::Db; -- cgit