在web應用中,日誌是非常重要的一部分資料,通過日誌我們可以把控每天的請求情況和應用運**況,還能夠大大方便我們定位和追蹤問題,所以非常有必要在開發時為gin框架加入日誌元件
logrus是go語言一款非常流行的日誌庫,其中封裝了非常多方便易用的方法,所以我們也基於這個庫來進行實現。
需要實現的功能有:
直接上**
第一步:封裝logger元件
初始化weblog
*/func initweblog()
/** 初始化日誌控制代碼
*/func initlog(logfilename string) *logrus.logger
logpath := "logs/"
logname := logpath + logfilename
var f *os.file
var err error
//判斷日誌檔案是否存在,不存在則建立,否則就直接開啟
if _, err := os.stat(logname); os.isnotexist(err) else
if err != nil
log.out = f
log.level = logrus.infolevel
return log
}/**
gin中介軟體函式,記錄請求日誌
*/func loggertofile() gin.handlerfunc ).info("access")
}}第二步:在路由中新增中介軟體
r :=gin.new()
r.use(logger.loggertofile())
或者是這樣的**,看你如何使用路由
r:= gin.default() //
r.use(logger.loggertofile())
這樣當有請求的時候,就會在logs/web.log下面記錄一條這樣的日誌
第三步:在業務中記錄日誌
例如在某個報錯後記錄異常日誌
exist, err := redis.bool(conn.do("exists", key))
if err != nil ).errorf("key exists execute redis cmd fail [%v]",err)
return false
}
這樣會記錄一條這樣的日誌
基於Gin的go webserver示例工程
說明 本工程為最近本示例工程,沒有新增專案需要的啟動引數,沒有與資料庫的互動,user物件的定義也只是個示例。但是包含了從query path 以及body獲取引數的示例。整體工程在這裡 結構 啟動引數 log file c f ginportdemo.log logtostderr false a...
基於GIN的API介面從開發到部署 簡單示例
使用go mod 管理專案,可以更加靈活的在專案中管理對應的go包 新建專案gorestful,建立資料夾,路徑 e 1234 gorestful 進入目錄 e 1234 gorestful 裡,新建入口檔案 main.go 在 e 1234 gorestful 裡開啟終端執行命令 go mod i...
動態新增的layui date標籤,不彈出日期選擇
之前有一篇文章提到動態新增 刪除一行的實現方法 其中我在table裡有laydate元素,動態新增的laydate不彈出日期選擇,根據class渲染的時候會出現出了第乙個可以正常顯示,別的都閃退的情況。最終是在每次新增的時候都對新新增的元素進行id重新渲染才解決的。為了避免id重複,給了乙個隨機數。...