成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁(yè) > 知識(shí)庫(kù) > Golang logrus 日志包及日志切割的實(shí)現(xiàn)

Golang logrus 日志包及日志切割的實(shí)現(xiàn)

熱門(mén)標(biāo)簽:烏魯木齊人工電銷(xiāo)機(jī)器人系統(tǒng) 賺地圖標(biāo)注的錢(qián)犯法嗎 地圖標(biāo)注測(cè)試 澳門(mén)防封電銷(xiāo)卡 智能電銷(xiāo)機(jī)器人營(yíng)銷(xiāo) 濮陽(yáng)自動(dòng)外呼系統(tǒng)代理 廣東語(yǔ)音外呼系統(tǒng)供應(yīng)商 福州鐵通自動(dòng)外呼系統(tǒng) 長(zhǎng)沙ai機(jī)器人電銷(xiāo)

本文主要介紹 Golang 中最佳日志解決方案,包括常用日志包logrus 的基本使用,如何結(jié)合file-rotatelogs 包實(shí)現(xiàn)日志文件的輪轉(zhuǎn)切割兩大話(huà)題。

Golang 關(guān)于日志處理有很多包可以使用,標(biāo)準(zhǔn)庫(kù)提供的 log 包功能比較少,不支持日志級(jí)別的精確控制,自定義添加日志字段等。在眾多的日志包中,更推薦使用第三方的 logrus 包,完全兼容自帶的 log 包。logrus 是目前 Github 上 star 數(shù)量最多的日志庫(kù),logrus 功能強(qiáng)大,性能高效,而且具有高度靈活性,提供了自定義插件的功能。

很多開(kāi)源項(xiàng)目,如 docker,prometheus,dejavuzhou/ginbro 等,都是用了 logrus 來(lái)記錄其日志。

logrus 特性

  • 完全兼容 golang 標(biāo)準(zhǔn)庫(kù)日志模塊:logrus 擁有六種日志級(jí)別:debug、info、warn、error、fatal 和 panic,這是 golang 標(biāo)準(zhǔn)庫(kù)日志模塊的 API 的超集。
  • logrus.Debug(“Useful debugging information.”)
  • logrus.Info(“Something noteworthy happened!”)
  • logrus.Warn(“You should probably take a look at this.”)
  • logrus.Error(“Something failed but I'm not quitting.”)
  • logrus.Fatal(“Bye.”) //log之后會(huì)調(diào)用os.Exit(1)
  • logrus.Panic(“I'm bailing.”) //log之后會(huì)panic()
  • 可擴(kuò)展的 Hook 機(jī)制:允許使用者通過(guò) hook 的方式將日志分發(fā)到任意地方,如本地文件系統(tǒng)、標(biāo)準(zhǔn)輸出、logstash、elasticsearch 或者 mq 等,或者通過(guò) hook 定義日志內(nèi)容和格式等。
  • 可選的日志輸出格式:logrus 內(nèi)置了兩種日志格式,JSONFormatter 和 TextFormatter,如果這兩個(gè)格式不滿(mǎn)足需求,可以自己動(dòng)手實(shí)現(xiàn)接口 Formatter 接口來(lái)定義自己的日志格式。
  • Field 機(jī)制:logrus 鼓勵(lì)通過(guò) Field 機(jī)制進(jìn)行精細(xì)化的、結(jié)構(gòu)化的日志記錄,而不是通過(guò)冗長(zhǎng)的消息來(lái)記錄日志。
  • logrus 是一個(gè)可插拔的、結(jié)構(gòu)化的日志框架。
  • Entry: logrus.WithFields 會(huì)自動(dòng)返回一個(gè) *Entry,Entry里面的有些變量會(huì)被自動(dòng)加上
  • time:entry被創(chuàng)建時(shí)的時(shí)間戳
  • msg:在調(diào)用.Info()等方法時(shí)被添加
  • level,當(dāng)前日志級(jí)別

logrus 基本使用

package main

import (
  "os"

  "github.com/sirupsen/logrus"
  log "github.com/sirupsen/logrus"
)

var logger *logrus.Entry

func init() {
  // 設(shè)置日志格式為json格式
  log.SetFormatter(log.JSONFormatter{})
  log.SetOutput(os.Stdout)
  log.SetLevel(log.InfoLevel)
  logger = log.WithFields(log.Fields{"request_id": "123444", "user_ip": "127.0.0.1"})
}

func main() {
  logger.Info("hello, logrus....")
  logger.Info("hello, logrus1....")
  // log.WithFields(log.Fields{
  // "animal": "walrus",
  // "size":  10,
  // }).Info("A group of walrus emerges from the ocean")

  // log.WithFields(log.Fields{
  // "omg":  true,
  // "number": 122,
  // }).Warn("The group's number increased tremendously!")

  // log.WithFields(log.Fields{
  // "omg":  true,
  // "number": 100,
  // }).Fatal("The ice breaks!")
}

基于 logrus 和 file-rotatelogs 包實(shí)現(xiàn)日志切割

很多時(shí)候應(yīng)用會(huì)將日志輸出到文件系統(tǒng),對(duì)于訪問(wèn)量大的應(yīng)用來(lái)說(shuō)日志的自動(dòng)輪轉(zhuǎn)切割管理是個(gè)很重要的問(wèn)題,如果應(yīng)用不能妥善處理日志管理,那么會(huì)帶來(lái)很多不必要的維護(hù)開(kāi)銷(xiāo):外部工具切割日志、人工清理日志等手段確保不會(huì)將磁盤(pán)打滿(mǎn)。

file-rotatelogs: When you integrate this to to you app, it automatically write to logs that are rotated from within the app: No more disk-full alerts because you forgot to setup logrotate!

logrus 本身不支持日志輪轉(zhuǎn)切割功能,需要配合 file-rotatelogs 包來(lái)實(shí)現(xiàn),防止日志打滿(mǎn)磁盤(pán)。file-rotatelogs 實(shí)現(xiàn)了 io.Writer 接口,并且提供了文件的切割功能,其實(shí)例可以作為 logrus 的目標(biāo)輸出,兩者能無(wú)縫集成,這也是 file-rotatelogs 的設(shè)計(jì)初衷:

It's normally expected that this library is used with some other logging service, such as the built-in log library, or loggers such as github.com/lestrrat-go/apache-logformat.

示例代碼:

應(yīng)用日志文件 /Users/opensource/test/go.log,每隔 1 分鐘輪轉(zhuǎn)一個(gè)新文件,保留最近 3 分鐘的日志文件,多余的自動(dòng)清理掉。

package main

import (
 "time"

 rotatelogs "github.com/lestrrat-go/file-rotatelogs"
 log "github.com/sirupsen/logrus"
)

func init() {
 path := "/Users/opensource/test/go.log"
 /* 日志輪轉(zhuǎn)相關(guān)函數(shù)
 `WithLinkName` 為最新的日志建立軟連接
 `WithRotationTime` 設(shè)置日志分割的時(shí)間,隔多久分割一次
 WithMaxAge 和 WithRotationCount二者只能設(shè)置一個(gè)
  `WithMaxAge` 設(shè)置文件清理前的最長(zhǎng)保存時(shí)間
  `WithRotationCount` 設(shè)置文件清理前最多保存的個(gè)數(shù)
 */
 // 下面配置日志每隔 1 分鐘輪轉(zhuǎn)一個(gè)新文件,保留最近 3 分鐘的日志文件,多余的自動(dòng)清理掉。
 writer, _ := rotatelogs.New(
 path+".%Y%m%d%H%M",
 rotatelogs.WithLinkName(path),
 rotatelogs.WithMaxAge(time.Duration(180)*time.Second),
 rotatelogs.WithRotationTime(time.Duration(60)*time.Second),
 )
 log.SetOutput(writer)
 //log.SetFormatter(log.JSONFormatter{})
}

func main() {
 for {
 log.Info("hello, world!")
 time.Sleep(time.Duration(2) * time.Second)
 }
}

Golang 標(biāo)準(zhǔn)日志庫(kù) log 使用

雖然 Golang 標(biāo)準(zhǔn)日志庫(kù)功能少,但是可以選擇性的了解下,下面為基本使用的代碼示例,比較簡(jiǎn)單:

package main

import (
  "fmt"
  "log"
)

func init() {
  log.SetPrefix("【UserCenter】")              // 設(shè)置每行日志的前綴
  log.SetFlags(log.LstdFlags | log.Lshortfile | log.LUTC) // 設(shè)置日志的抬頭字段
}

func main() {
  log.Println("log...")
  log.Fatalln("Fatal Error...")
  fmt.Println("Not print!")
}

自定義日志輸出

package main

import (
  "io"
  "log"
  "os"
)

var (
  Info  *log.Logger
  Warning *log.Logger
  Error  *log.Logger
)

func init() {
  errFile, err := os.OpenFile("errors.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
  if err != nil {
    log.Fatalln("打開(kāi)日志文件失?。?, err)
  }

  Info = log.New(os.Stdout, "Info:", log.Ldate|log.Ltime|log.Lshortfile)
  Warning = log.New(os.Stdout, "Warning:", log.Ldate|log.Ltime|log.Lshortfile)
  Error = log.New(io.MultiWriter(os.Stderr, errFile), "Error:", log.Ldate|log.Ltime|log.Lshortfile)
}

func main() {
  Info.Println("Info log...")
  Warning.Printf("Warning log...")
  Error.Println("Error log...")
}

相關(guān)文檔

https://mojotv.cn/2018/12/27/golang-logrus-tutorial
https://github.com/lestrrat-go/file-rotatelogs
https://www.flysnow.org/2017/05/06/go-in-action-go-log.html

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • golang有用的庫(kù)及工具 之 zap.Logger包的使用指南
  • golang elasticsearch Client的使用詳解
  • Golang的func參數(shù)及返回值操作
  • golang協(xié)程池模擬實(shí)現(xiàn)群發(fā)郵件功能
  • golang 比較浮點(diǎn)數(shù)的大小方式
  • 解決Golang中g(shù)oroutine執(zhí)行速度的問(wèn)題
  • 解決golang結(jié)構(gòu)體tag編譯錯(cuò)誤的問(wèn)題
  • golang日志包logger的用法詳解

標(biāo)簽:貴陽(yáng) 西雙版納 慶陽(yáng) 廣西 太原 調(diào)研邀請(qǐng) 阿克蘇 德州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Golang logrus 日志包及日志切割的實(shí)現(xiàn)》,本文關(guān)鍵詞  Golang,logrus,日志,包,及,切割,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Golang logrus 日志包及日志切割的實(shí)現(xiàn)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Golang logrus 日志包及日志切割的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产三级电影在线播放| 久久久久久久久久久久久国产精品| 国产欧美精品在线观看| 日韩免费成人av| 国产情侣一区二区| 成人性爱视频在线观看| 国产mv免费观看入口亚洲| 久久精品国产亚洲AV无码男同| 91专区在线观看| 国产无套内射久久久国产| 美女av在线免费看| 国产一级精品毛片| 超碰在线最新网址| 日韩电影网站| 韩国av一区| 飘雪影院手机免费高清版在线观看| 丝袜美腿亚洲一区二区图片| 伊人www22综合色| 狠狠操狠狠干视频| 亚洲精品国产一区黑色丝袜| 欧美艾v福利视频在线观看| 国产高清视频免费在线观看| 91麻豆产精品久久久久久| 丁香激情五月少妇| 欧美凹凸一区二区三区视频| 一区二区精品在线| 黄色大片在线播放| 成人av动漫在线观看| 欧美成人一区二区三区电影| 91抖音在线观看| 免费观看av网站| 美日韩精品视频| 99视频精品在线| 99国内精品久久久久久久| 国产乱人伦偷精品视频不卡| 国产精品狼人久久影院观看方式| 亚洲无码精品在线播放| 性一交一乱一乱一视频| 精品一区91| 麻豆精品91| 91精品丝袜国产高跟在线| 国产精品尤物福利片在线观看| 精品久久久久久亚洲综合网站| 国产精品天天狠天天看| 免费欧美一级视频| 国产精品久久久久久在线观看| 国产精品一区免费视频| 欧美日韩精品三区| 一级欧美视频| avtt在线播放| 国模杨依粉嫩蝴蝶150p| 欧美日韩在线精品一区二区三区激情综| 综合亚洲视频| 欧美精品高清视频| 国产91精品久久久久久| 91九色极品视频| 亚洲高清不卡一区| 中文成人无字幕乱码精品区| 伊人精品视频在线观看| 欧洲一区二区在线| 亚洲国产免费av| 中文字幕第三页| 亚洲aⅴ日韩av电影在线观看| 亚洲成a人片77777在线播放| 在线视频欧美区| 亚洲无线观看| 国产成人精品三级| 中文在线手机av| 五月婷婷之综合激情| 欧美激情黑白配| 五月天av网站| 免费在线黄色网| 人妻体内射精一区二区| 欧美日韩一区小说| 青春有你2免费观看完整版在线播放高清| 91在线超碰| 国产精品人成在线观看免费| 一二三区在线播放| 日本黄色片视频| 精品一区二区三区的国产在线播放| 天堂国产一区二区三区| 色综合久久88色综合天天免费| 有色激情视频免费在线| 一级毛片高清视频| 91香蕉视频网址| 激情国产在线| 不卡视频在线播放| 国内伊人久久久久久网站视频| 国产成人亚洲综合91| 欧美日韩在线一| 亚洲男人天堂九九视频| 中文字幕欧美专区| 国产女同一区二区| 尤物av一区二区| 每日更新av在线播放| 欧美日韩一区二区三区视频播放| 午夜3点看的视频| 久久国产视频精品| 狠狠干视频网站| 亚洲精品第一国产综合精品| 成人动漫精品一区二区| 久青青在线观看视频国产| 精品日韩av| 欧美国产激情视频| 日本高清不卡aⅴ免费网站| 国产精品成人av性教育| 91久久精品一区二区三区| 欧美四级剧情无删版影片| 日韩视频精品| 国产成人av一区| 亚洲免费av片| 艳妇荡乳欲伦69影片| 免费观看特级毛片| 韩国黄色一级大片| 五月婷婷中文字幕| 午夜免费福利在线| 中文字幕乱码人妻综合二区三区| 九九九九九伊人| av在线日韩国产精品| 精品久久久久久一区| 成人国产精品免费观看动漫| 中文在线三区| 欧美视频网址| 亚洲人成色77777| 日本黄在线观看| 波多野结衣不卡| 99视频日韩| 国产精品av久久久久久无| 欧美精品一区二区三区蜜臀| 欧美电影免费观看完整版| 亚洲天堂久久新| 日本在线播放一区二区三区| 午夜在线视频观看日韩17c| 久久亚洲精品爱爱| 成人亚洲一区二区一| 黄色小视网站| 亚洲天堂第一页| 日韩欧美一二三区| 亚洲最大的黄色网| 手机免费观看av| 在线观看国产成人av片| 激情小说激情视频| 久久丫精品久久丫| 波多野结衣中文字幕在线| 精品街拍一区二区| 精品美女在线观看| 在线a欧美视频| 亚洲国产精品久久久久婷蜜芽| 国产精品久久久久久久久免费看| 羞羞视频在线观看| 麻豆国产欧美一区二区三区| 91视频论坛| jizzjizzjizzjizz| 久久久久99精品成人片三人毛片| 亚洲网站视频福利| 亚洲一二三区视频在线观看| 免费毛片在线看片免费丝瓜视频| 日韩欧美专区| 久久亚洲国产成人精品性色| 东方av正在进入| 好紧好硬好湿我太爽了| 九色精品国产蝌蚪| 成年人在线观看网站| 四虎地址8848jia| 极品人妻一区二区三区| 国精产品一区一区三区mba视频| 114国产精品久久免费观看| 成人小视频在线看| 五码日韩精品一区二区三区视频| 国产麻豆精品95视频| 国产视频一区二区在线观看| 国产午夜精品一区二区三区嫩草| 欧美专区第一页| 亚洲国产中文在线二区三区免| 日本一区精品视频| 亚洲精品666| 91超碰caoporn97人人| 欧美另类一区二区三区| 亚洲人成在线观看网站高清| 国产成人精品av在线| free欧美性| 神马久久影视大全| 99热久久这里只有精品| 欧美系列在线观看| 精品国产乱码一区二区三| 天堂av在线网| 日韩成人黄色av| 欧美精品精品精品精品免费| 欧美成人精品二区三区99精品| 日日夜夜精品| 四虎影院在线域名免费观看| 超级碰碰久久| 久久av在线播放| 黑人无套内谢中国美女| 欧美另类一区| 人妻av一区二区| 成人高潮片免费视频| aa在线视频| 国产午夜精品一区二区理论影院| 丰满少妇被猛烈进入高清播放| 精品久久久久99| 极品美女扒开粉嫩小泬| 在线看片地址| 亚洲黄色小说网| 国产福利一区二区三区在线观看| 精品无码黑人又粗又大又长| 国产成人无码a区在线观看视频| 欧美成人免费全部观看天天性色| 日韩一区二区免费高清| 99re6这里只有精品视频在线观看| 伊人无码高清| 欧美一区 二区| 午夜视频一区二区在线观看| 神宫寺奈绪一区二区三区| 欧美第一黄色网| 亚洲特级毛片| 久久久久国产精品厨房| 91在线视频精品| 久久国产精品美女| a级片在线免费看| 人妻少妇无码精品视频区| 粉嫩一区二区三区四区公司1| 欧美日韩在线观看视频小说| 成人免费毛片嘿嘿连载视频| 国产精品视频黄色| 久久久精品久久久久特色影视| 日韩免费电影| 亚洲欧洲日产国产综合网| 精品国产aⅴ麻豆| 亚洲成人福利在线观看| 看全色黄大色大片| 疯狂揉花蒂控制高潮h| 日韩在线你懂的| 在线中文字幕第一页| 亚洲欧美日韩中文在线制服| 国产一区二区精品| 国产女主播喷水视频在线观看| 国产欧美激情视频| 一区二区三区视频免费看| 日本h片在线观看| 激情六月婷婷久久| 小嫩嫩12欧美| 欧美日韩激情在线| 亚洲综合一区二区| 国产第一页在线视频| 日韩亚洲视频在线| 国产欧美va欧美不卡在线| 亚洲国产婷婷综合在线精品| αv一区二区三区| 国产福利亚洲| 免费观看美女裸体网站| 在线精品在线| 国产在线精品成人一区二区三区| 成人av在线电影| 日本大臀精品| 国产成人在线电影| 国产乱子伦精品无码码专区| 国内精品久久久久久影院8f| 国产又黄又猛又爽| 欧美三级小视频| 久久精品一区二区三区不卡免费视频| 久热中文字幕在线观看| 一级黄色小视频| 精品黄色免费中文电影在线播放| 欧美一级在线亚洲天堂| 亚洲国产一区二区在线| 欧美日韩一区二区高清| 日韩欧美国产综合在线| 日批视频免费在线观看| 欧美二区在线视频| 国产高潮失禁喷水爽到抽搐| 国产成人精品亚洲日本在线观看| 草草影院第一页| 亚洲国产精品综合小说图片区| 亚洲成人网av| 亚洲女人18毛片水真多| 99精品欧美一区二区蜜桃免费| 91麻豆精品激情在线观看最新| 99久久精品无码一区二区毛片| 亚洲精品久久嫩草网站秘色| 国产大片在线观看| 伊人久久大香线蕉av超碰演员| 99re6热只有精品免费观看| 久久久高清视频| 香港三级日本三级a视频| 精品肉丝脚一区二区三区| 欧美军同video69视频| 韩国一区二区电影| 欧美视频第一| 免费的成人av| 日韩欧美一区二区三区在线视频| 国产黄色片在线播放| 黄色片免费观看视频| 国产精品福利一区二区三区| 久久视频一区二区三区| 亚洲福利小视频| 日本中文字幕视频在线| 69国产精品视频| 日韩一区二区三区免费视频| 北条麻妃高清一区| 一区二区三区在线免费观看| 成人c视频免费高清在线观看| 日韩电影免费观看高清完整版| 最新亚洲激情| 日本久久久久久久| 欧美三级在线| 大桥未久av一区二区三区| 毛片一级免费一级| 99青春婷婷视频| 白白色 亚洲乱淫| 国产黄色免费| 国产浴室偷窥在线播放| 亚洲综合另类| 羞羞色午夜精品一区二区三区| 国产女主播一区| 亚洲一区免费看| 亚洲精品小视频| 久久色在线视频| 日韩视频亚洲视频| 国产精品一区二区果冻传媒| 特黄特黄的视频| 午夜电影福利网| xxav国产精品美女主播| 国产美女在线播放| 中文字幕欧美区| 一级毛片aaaaaa免费看| 久久国产天堂福利天堂| 天天弄天天操|