diff options
author | 2025-06-05 15:59:38 +0100 | |
---|---|---|
committer | 2025-06-05 15:59:38 +0100 | |
commit | 7220d1fd3795a6ec5339ade2c8c9f8fa0718dbd3 (patch) | |
tree | 03dc9f58011f7e6f5621deaa96211a16d8d91523 /src/db.rs | |
parent | 76aacb9bb017cb3edb81d965690229544cbf0a66 (diff) | |
download | fj-7220d1fd3795a6ec5339ade2c8c9f8fa0718dbd3.tar.gz fj-7220d1fd3795a6ec5339ade2c8c9f8fa0718dbd3.tar.bz2 fj-7220d1fd3795a6ec5339ade2c8c9f8fa0718dbd3.zip |
feat: logging
Diffstat (limited to 'src/db.rs')
-rw-r--r-- | src/db.rs | 32 |
1 files changed, 29 insertions, 3 deletions
@@ -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<Path>, @@ -41,7 +61,11 @@ impl Db { } pub fn create_connect_memory() -> std::result::Result<Self, DatabaseOpenError> { - 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; |