f1e2372a by slene

orm update docs about debug log queries

1 parent 45aa0712
...@@ -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)
......
1 ## 事务处理 1 ## 事务处理
2 2
3 orm 可以简单的进行事务操作
3 4
5 ```go
6 o := NewOrm()
7 err := o.Begin()
8 // 事务处理过程
9 ...
10 ...
11 // 此过程中的所有使用 o Ormer 对象的查询都在事务处理范围内
12 if SomeError {
13 err = o.Rollback()
14 } else {
15 err = o.Commit()
16 }
17 ```
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!