#diesel #query #logging #times #debugging #executed

diesel_logger

记录diesel执行的查询的时间和日志

4个版本 (2个重大更改)

0.3.0 2023年6月1日
0.2.0 2022年9月21日
0.1.1 2020年7月1日
0.1.0 2018年1月20日

#1299 in 数据库接口

Download history 392/week @ 2024-03-13 339/week @ 2024-03-20 479/week @ 2024-03-27 403/week @ 2024-04-03 421/week @ 2024-04-10 472/week @ 2024-04-17 658/week @ 2024-04-24 643/week @ 2024-05-01 746/week @ 2024-05-08 593/week @ 2024-05-15 403/week @ 2024-05-22 806/week @ 2024-05-29 649/week @ 2024-06-05 775/week @ 2024-06-12 582/week @ 2024-06-19 447/week @ 2024-06-26

2,630 每月下载量
用于 2 crates

MIT 许可证

9KB
199 代码行

柴油日志器

假设你像这样使用Diesel

let conn = SqliteConnection::establish("example.sqlite").unwrap();
// some commands that read/write from the conn database

你可以将其更改为

let conn = SqliteConnection::establish("example.sqlite").unwrap();
let conn = LoggingConnection::new(conn);
// some commands that read/write from the conn database

以记录所有内容。这将在每个查询上生成一个 debug 日志,在查询超过1秒时生成一个 info 日志,在查询超过5秒时生成一个 warn 日志。

示例

$ 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"]

依赖项

~3–9MB
~78K SLoC