orm update docs about debug log queries
Showing
4 changed files
with
81 additions
and
0 deletions
| ... | @@ -107,6 +107,29 @@ if err != nil { | ... | @@ -107,6 +107,29 @@ if err != nil { |
| 107 | 107 | ||
| 108 | ``` | 108 | ``` |
| 109 | 109 | ||
| 110 | #### Debug Log Queries | ||
| 111 | |||
| 112 | In development env, you can simple use | ||
| 113 | |||
| 114 | ```go | ||
| 115 | func main() { | ||
| 116 | orm.Debug = true | ||
| 117 | ... | ||
| 118 | ``` | ||
| 119 | |||
| 120 | enable log queries. | ||
| 121 | |||
| 122 | output include all queries, such as exec / prepare / transaction. | ||
| 123 | |||
| 124 | like this: | ||
| 125 | |||
| 126 | ```go | ||
| 127 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.4ms] - [INSERT INTO `user` (`name`) VALUES (?)] - `slene` | ||
| 128 | ... | ||
| 129 | ``` | ||
| 130 | |||
| 131 | note: not recommend use this in product env. | ||
| 132 | |||
| 110 | ## Docs | 133 | ## Docs |
| 111 | 134 | ||
| 112 | more details and examples in docs and test | 135 | more details and examples in docs and test | ... | ... |
| ... | @@ -198,3 +198,46 @@ fmt.Println(dr.Name() == "db2") // true | ... | @@ -198,3 +198,46 @@ fmt.Println(dr.Name() == "db2") // true |
| 198 | fmt.Println(dr.Type() == orm.DR_Sqlite) // true | 198 | fmt.Println(dr.Type() == orm.DR_Sqlite) // true |
| 199 | 199 | ||
| 200 | ``` | 200 | ``` |
| 201 | |||
| 202 | ## 调试模式打印查询语句 | ||
| 203 | |||
| 204 | 简单的设置 Debug 为 true 打印查询的语句 | ||
| 205 | |||
| 206 | 可能存在性能问题,不建议使用在产品模式 | ||
| 207 | |||
| 208 | ```go | ||
| 209 | func main() { | ||
| 210 | orm.Debug = true | ||
| 211 | ... | ||
| 212 | ``` | ||
| 213 | |||
| 214 | 默认使用 os.Stderr 输出日志信息 | ||
| 215 | |||
| 216 | 改变输出到你自己的 io.Writer | ||
| 217 | |||
| 218 | ```go | ||
| 219 | var w io.Writer | ||
| 220 | ... | ||
| 221 | // 设置为你的 io.Writer | ||
| 222 | ... | ||
| 223 | orm.DebugLog = orm.NewLog(w) | ||
| 224 | ``` | ||
| 225 | |||
| 226 | 日志格式 | ||
| 227 | |||
| 228 | ```go | ||
| 229 | [ORM] - 时间 - [Queries/数据库名] - [执行操作/执行时间] - [SQL语句] - 使用标点 `,` 分隔的参数列表 - 打印遇到的错误 | ||
| 230 | ``` | ||
| 231 | |||
| 232 | ```go | ||
| 233 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.4ms] - [INSERT INTO `user` (`name`) VALUES (?)] - `slene` | ||
| 234 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.5ms] - [UPDATE `user` SET `name` = ? WHERE `id` = ?] - `astaxie`, `14` | ||
| 235 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [db.QueryRow / 0.4ms] - [SELECT `id`, `name` FROM `user` WHERE `id` = ?] - `14` | ||
| 236 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.4ms] - [INSERT INTO `post` (`user_id`,`title`,`content`) VALUES (?, ?, ?)] - `14`, `beego orm`, `powerful amazing` | ||
| 237 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Query / 0.4ms] - [SELECT T1.`name` `User__Name`, T0.`user_id` `User`, T1.`id` `User__Id` FROM `post` T0 INNER JOIN `user` T1 ON T1.`id` = T0.`user_id` WHERE T0.`id` = ? LIMIT 1000] - `68` | ||
| 238 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.4ms] - [DELETE FROM `user` WHERE `id` = ?] - `14` | ||
| 239 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Query / 0.3ms] - [SELECT T0.`id` FROM `post` T0 WHERE T0.`user_id` IN (?) ] - `14` | ||
| 240 | [ORM] - 2013-08-09 13:18:16 - [Queries/default] - [ db.Exec / 0.4ms] - [DELETE FROM `post` WHERE `id` IN (?)] - `68` | ||
| 241 | ``` | ||
| 242 | |||
| 243 | 日志内容包括 **所有的数据库操作**,事务,Prepare,等 | ... | ... |
| ... | @@ -4,6 +4,7 @@ | ... | @@ -4,6 +4,7 @@ |
| 4 | 1. [Orm 使用方法](Orm.md) | 4 | 1. [Orm 使用方法](Orm.md) |
| 5 | - [数据库的设置](Orm.md#数据库的设置) | 5 | - [数据库的设置](Orm.md#数据库的设置) |
| 6 | - [ORM 接口使用](Orm.md#orm-接口使用) | 6 | - [ORM 接口使用](Orm.md#orm-接口使用) |
| 7 | - [调试模式打印查询语句](Orm.md#调试模式打印查询语句) | ||
| 7 | 2. [对象的CRUD操作](Object.md) | 8 | 2. [对象的CRUD操作](Object.md) |
| 8 | 3. [高级查询](Query.md) | 9 | 3. [高级查询](Query.md) |
| 9 | - [使用的表达式语法](Query.md#expr) | 10 | - [使用的表达式语法](Query.md#expr) | ... | ... |
-
Please register or sign in to post a comment