5 releases (3 breaking)
0.4.0 | Nov 18, 2024 |
---|---|
0.3.0 | Jun 1, 2023 |
0.2.0 | Sep 21, 2022 |
0.1.1 | Jul 1, 2020 |
0.1.0 | Jan 20, 2018 |
#1008 in Database interfaces
5,771 downloads per month
Used in 2 crates
12KB
222 lines
Diesel Logger
Let's say you use Diesel like this:
let conn = SqliteConnection::establish("example.sqlite").unwrap();
// some commands that read/write from the conn database
You can change this to
let conn = SqliteConnection::establish("example.sqlite").unwrap();
let conn = LoggingConnection::new(conn);
// some commands that read/write from the conn database
to log everything.
This produces a debug
log on every query, an info
on queries that take longer than 1 second, and a warn
ing on queries that take longer than 5 seconds.
Example
$ cd example
$ cargo run
2022-06-06T22:42:29.266Z DEBUG [diesel_logger] Query ran in 4.9 ms: CREATE TABLE IF NOT EXISTS posts (id INTEGER, title TEXT, body TEXT, published BOOL);
2022-06-06T22:42:29.270Z DEBUG [diesel_logger] Query ran in 3.7 ms: INSERT INTO `posts` (`title`, `body`) VALUES (?, ?) -- binds: ["mytitle", "mybody"]
Dependencies
~3–8MB
~76K SLoC