# 日志记录
* * * * *
--: 作者:Fuzz
时间:2019年1月28日
* * * * *
## 引擎配置设置 multifile
~~~
logs.SetLogger(logs.AdapterMultiFile,`{"filename":"log/project.log","level":7,"maxlines":0,"maxsize":0,"daily":true,"maxdays":10,"separate":["emergency"]}`)
~~~
主要的参数如下说明(除 separate 外,均与file相同):
* filename 保存的文件名
* maxlines 每个文件保存的最大行数,默认值 1000000
* maxsize 每个文件保存的最大尺寸,默认值是 1 << 28, //256 MB
* daily 是否按照每天 logrotate,默认是 true
* maxdays 文件最多保存多少天,默认保存 7 天
* rotate 是否开启 logrotate,默认是 true
* level 日志保存的时候的级别,默认是 Trace 级别
* perm 日志文件权限
* separate 需要单独写入文件的日志级别,设置后命名类似 test.error.log
### 输出文件名和行号
~~~
beego.SetLogFuncCall(true) //记文件名和行号,Beego日志记录默认不输出行号
~~~
### 错误等级 **级别依次降低**
~~~
LevelEmergency 等级紧急 [M]
LevelAlert 等级警报 [A]
LevelCritical 等级严重 [E]
LevelError 等级错误 [W]
LevelWarning 等级警告 [N]
LevelNotice 等级通知 [I]
LevelInformational 级别信息 [D]
LevelDebug 级别调试 [I]
~~~
### 使用方式 Debug
1.函数执行方式时记录执行的方法名称,以及用户id
![](https://box.kancloud.cn/51a6bd855bd7ddf976d6ab54beb3f91a_561x45.png)
2.函数中调用方法在函数中记录操作
![](https://box.kancloud.cn/90897de2bb881f32d582bb6813ed1943_766x27.png)
![](https://box.kancloud.cn/080cd49ee2c724ca02a1a4896f06a419_987x47.png)
3.接口返回信息记录(接口返回结构跟处理结果不一样的则需要手写记录信息,返回信息中包含结果则Rj方法中会自动记录)
![](https://box.kancloud.cn/f39646b43481939b0b2437eeebab12cb_965x49.png)
### 使用方式 Error
1.执行函数返回错误信息,程序不报错的使用error记录,需要记录判断错误的条件
![](https://box.kancloud.cn/f580a6edee84372fe3d59f0a7fba56f5_1091x93.png)