Open main menu
首页
专栏
课程
分类
归档
Chat
Sci-Hub
谷歌学术
Libgen
GitHub镜像
登录/注册
搜索
关闭
Previous
Previous
Next
Next
## 1.介绍 在项目中输出日志是比较常见的需求,golang默认的日志包功能比较弱,这里介绍Logrus日志处理包。 Logrus是一个结构化日志处理框架,并且api完全兼容golang标准库的logger日志api,意味着你可以直接使用Logrus替换logger。 通常我们输出的日志都是非结构化的,例如: ``` 2019-09-10 10:10:00 [info] connect to redis error,ip=12.11.21.1 ``` 这样格式的日志,不方便对日志进行分析,尤其大数据处理,通常需要对日志进行格式化。 结构化的日志,就方便程序解析日志的内容,例如json格式: ``` {"animal":"walrus","level":"info","msg":"A group of walrus emerges from the ocean","size":10,"time":"2014-03-10 19:57:38.562264131 -0400 EDT"} ``` ## 2.安装包 ``` go get github.com/sirupsen/logrus ``` ## 3.Logrus简单例子 ``` package main import ( "os" // 导入logrus日志包,别名为log log "github.com/sirupsen/logrus" ) func main() { // 设置日志等级 log.SetLevel(log.DebugLevel) // 设置日志输出到什么地方去 // 将日志输出到标准输出,就是直接在控制台打印出来。 log.SetOutput(os.Stdout) // 设置为true则显示日志在代码什么位置打印的 //log.SetReportCaller(true) // 设置日志以json格式输出, 如果不设置默认以text格式输出 log.SetFormatter(&log.JSONFormatter{}) // 打印日志 log.Debug("调试信息") log.Info("提示信息") log.Warn("警告信息") log.Error("错误信息") //log.Panic("致命错误") // // 为日志加上字段信息,log.Fields其实就是map[string]interface{}类型的别名 log.WithFields(log.Fields{ "user_id": 1001, "ip" : "123.12.12.11", "request_id" : "kana012uasdb8a918gad712", }).Info("用户登陆失败.") } ```
登录查看更多内容
【Gin实战系列】日志使用
作者
sockstack
许可协议
CC BY 4.0
发布于
2023-09-02
修改于
2023-09-02
尚未登录
登录 / 注册
专栏目录
【Gin实战系列】快速入门
【Gin实战系列】项目结构
【Gin实战系列】项目配置
【Gin实战系列】控制器于路由
【Gin实战系列】请求参数处理
【Gin实战系列】校验错误信息
【Gin实战系列】服务编写
【Gin实战系列】模型定义
【Gin实战系列】数据库操作
【Gin实战系列】请求响应处理
【Gin实战系列】统一结构响应处理
【Gin实战系列】中间件使用
【Gin实战系列】日志使用
【Gin实战系列】cookie处理
【Gin实战系列】session处理
【Gin实战系列】模板渲染
【Gin实战系列】实例:密码加密
【Gin实战系列】实例:登录注册
【Gin实战系列】jwt身份认证
【Gin实战系列】使用 swagger 文档
【Gin实战系列】实例:文件上传