婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang日志包logger的用法詳解

golang日志包logger的用法詳解

熱門標簽:涿州代理外呼系統(tǒng) 電話機器人軟件免費 外呼系統(tǒng)顯本地手機號 壽光微信地圖標注 外呼系統(tǒng)用什么卡 阿克蘇地圖標注 百度地圖標注后傳給手機 excel地圖標注分布數(shù)據(jù) 評價高的400電話辦理

1. logger包介紹

import  "github.com/wonderivan/logger"

在我們開發(fā)go程序的過程中,發(fā)現(xiàn)記錄程序日志已經(jīng)不是fmt.print這么簡單,我們想到的是打印輸出能夠明確指定當時運行時間、運行代碼段,當然我們可以引入go官方自帶包 import “l(fā)og”,然后通過log.Printf、log.Println等方式輸出,而且默認是日志輸出時只帶時間的,想要同時輸出所運行代碼段位置,還需要通過執(zhí)行一下指定進行相關簡單的設置

log.SetFlags(log.LstdFlags | log.Lshortfile)
log.SetPrefix(xxx)

然而logger要做的并不僅僅是要這些:

logger支持自定義時間格式

logger支持不同的日志等級輸出,能夠有效提高日志輸出性能和檢索;

logger支持控制臺+文件+網(wǎng)絡的三種方式輸出,并且可以任意組合。

logger支持控制臺輸出顏色區(qū)分;

logger支持文本輸出的自定制;

logger支持網(wǎng)絡日志傳輸,例如直連logstash發(fā)送。

2. logger包使用

logger包使用起來非常方便,很多配置參數(shù)都有其默認值,符合通常使用習慣。如果僅需要在控制臺輸出,則只需要引入該包,然后直接使用即可:

package main 
import "github.com/wonderivan/logger" 
func main() {
 logger.Trace("this is Trace") // 由于默認輸出,只會在控制臺輸出Debug及其以上日志,所以該條不會輸出
 logger.Debug("this is Debug")
 logger.Info("this is Info")
 logger.Warn("this is Warn")
 logger.Error("this is Error")
 logger.Crit("this is Critical")
 logger.Alert("this is Alert")
 logger.Emer("this is Emergency")
}

此時在終端即可輸出(如果是非windows終端,支持日志等級顏色區(qū)分):

3. logger詳細介紹

在上邊介紹了logger的基本使用后,接下來詳細介紹一下該包的文本輸出和網(wǎng)絡輸出,及其相關配置項。

3.1 日志等級

當前日志輸出等級共8種,從0-7對應的等級由高到底,可以通過配置參數(shù)進行配置,默認為DEBG級別,當配置為某個輸出等級時,只有大于等于該等級的日志才會輸出。不同的輸出適配器支持不同的日志等級配置。

logger日志等級列表
等級 配置 釋義 控制臺顏色
0 EMER 系統(tǒng)級緊急,比如磁盤出錯,內存異常,網(wǎng)絡不可用等 紅色底
1 ALRT 系統(tǒng)級警告,比如數(shù)據(jù)庫訪問異常,配置文件出錯等 紫色
2 CRIT 系統(tǒng)級危險,比如權限出錯,訪問異常等 藍色
3 EROR 用戶級錯誤 紅色
4 WARN 用戶級警告 黃色
5 INFO 用戶級重要 天藍色
6 DEBG 用戶級調試 綠色
7 TRAC 用戶級基本輸出,比如成員信息,結構體值等 綠色

3.2 配置參數(shù)說明

logger當前支持控制臺、文件、網(wǎng)絡3種方式輸出,這3中輸出時通過各自的json格式參數(shù)進行設置,如果未配置某項適配器時,則不初始化也不會輸出到該適配器。

默認配置為只控制臺輸出DEBG及其以上日志。

{
    "TimeFormat":"2006-01-02 15:04:05", // 輸出日志開頭時間格式
    "Console": {            // 控制臺日志配置
        "level": "TRAC",    // 控制臺日志輸出等級
        "color": true       // 控制臺日志顏色開關 
    },
    "File": {                   // 文件日志配置
        "filename": "app.log",  // 初始日志文件名
        "level": "TRAC",        // 日志文件日志輸出等級
        "daily": true,          // 跨天后是否創(chuàng)建新日志文件,當append=true時有效
        "maxlines": 1000000,    // 日志文件最大行數(shù),當append=true時有效
        "maxsize": 1,           // 日志文件最大大小,當append=true時有效
        "maxdays": -1,          // 日志文件有效期
        "append": true,         // 是否支持日志追加
        "permit": "0660"        // 新創(chuàng)建的日志文件權限屬性
    },
    "Conn": {                       // 網(wǎng)絡日志配置
        "net":"tcp",                // 日志傳輸模式
        "addr":"10.1.55.10:1024",   // 日志接收服務器
        "level": "Warn",            // 網(wǎng)絡日志輸出等級
        "reconnect":true,           // 網(wǎng)絡斷開后是否重連
        "reconnectOnMsg":false,     // 發(fā)送完每條消息后是否斷開網(wǎng)絡
    }
}

輸出日志開頭時間格式只要該符合go中Time.Format格式即可,例如:

時間類型 時間格式
ANSIC "Mon Jan _2 15:04:05 2006"
UnixDate "Mon Jan _2 15:04:05 MST 2006"
RubyDate "Mon Jan 02 15:04:05 -0700 2006"
RFC822 "02 Jan 06 15:04 MST"
RFC822Z "02 Jan 06 15:04 -0700"
RFC850 "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z "Mon, 02 Jan 2006 15:04:05 -0700"
RFC3339 "2006-01-02T15:04:05Z07:00"
RFC3339Nano "2006-01-02T15:04:05.999999999Z07:00"
Kitchen "3:04PM"
Stamp "Jan _2 15:04:05"
StampMilli "Jan _2 15:04:05.000"
StampMicro "Jan _2 15:04:05.000000"
StampNano "Jan _2 15:04:05.000000000"
RFC3339Nano1 "2006-01-02 15:04:05.999999999 -0700 MST"
DEFAULT "2006-01-02 15:04:05"

對應的輸出開頭時間格式為:

========RFC1123Z time format========                                                         
Thu, 02 Aug 2018 18:48:04 +0800 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug R
========Stamp time format========                                                            
Aug  2 18:48:04 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug Stamp            
========StampMilli time format========                                                       
Aug  2 18:48:04.489 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug StampMilli   
========StampNano time format========                                                        
Aug  2 18:48:04.490002155 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug StampNa
========RubyDate time format========                                                         
Thu Aug 02 18:48:04 +0800 2018 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug Ru
========RFC822 time format========                                                           
02 Aug 18 18:48 CST [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug RFC822       
========RFC822Z time format========                                                          
02 Aug 18 18:48 +0800 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug RFC822Z    
========RFC1123 time format========                                                          
Thu, 02 Aug 2018 18:48:04 CST [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug RFC
========RFC3339 time format========                                                          
2018-08-02T18:48:04+08:00 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug RFC3339
========RFC3339Nano time format========                                                      
2018-08-02T18:48:04.490377325+08:00 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Deb
========ANSIC time format========                                                            
Thu Aug  2 18:48:04 2018 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug ANSIC   
========UnixDate time format========                                                         
Thu Aug  2 18:48:04 CST 2018 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug Unix
========RFC850 time format========                                                           
Thursday, 02-Aug-18 18:48:04 CST [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug 
========Kitchen time format========                                                          
6:48PM [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug Kitchen                   
========StampMicro time format========                                                       
Aug  2 18:48:04.490662 [DEBG] [github.com/wonderivan/logger/log_test.go:115] Debug StampMicro

3.3 設置配置參數(shù):

通過調用logger.SetLogger(config string)方法設置參數(shù),config支持json配置,也支持指定內容為json配置的文件路徑,例如:

    // 通過配置參數(shù)直接配置
    logger.SetLogger(`{"Console": {"level": "DEBG"}}`)
    // 通過配置文件配置
    logger.SetLogger("/home/log.json")
 

3.4 配置其他相關說明

1、當日志文件配置項append為true時,如果當前寫入的日志發(fā)生跨天(daily為true)或超過最大限制時,會創(chuàng)建一個新文件,原有文件格式被重命名為: ****.xxxx-xx-xx.xxx.xxx 格式,例如:當向app.log寫入日志時,觸發(fā)了創(chuàng)建新文件操作,則將app.log重命名為 app.2018-01-01.001.log, 如果此時app.2018-01-01.001.log已經(jīng)存在,則將剛才的app.log重命名為 app.2018-01-01.002.log,以此類推。

2、logger package默認初始化了全局的defaultLogger,所以直接調用logger.SetLogger的其實是給該對象設置輸出參數(shù),如果想要使用自定義的logger對象,需要通過logger.NewLogger()進行初始化。

3、網(wǎng)絡配置中的reconnectOnMsg為true時,每條發(fā)送一條消息都會重連一次網(wǎng)絡日志中心,適用于寫日志頻率極低的情況下的調用,可以減少長時間網(wǎng)絡連接而占用資源。但強烈不建議平常使用時設置為true,這將會導致調用方反復的網(wǎng)絡重連,極大增加資源消耗和延遲。

4、conn網(wǎng)絡輸出適配器經(jīng)過ELK集成環(huán)境的測試驗證,通過該方式發(fā)送的日志,能夠正常通過Elecsearch和Kibana檢索和分析

4 下載和使用

保證golang開發(fā)環(huán)境的正常配置,并且go相關工具安裝完成,GOPATH等設置正常(go開發(fā)所必須的)。

執(zhí)行go get github.com/wonderivan/logger , 然后import 該包即可使用。

包源碼鏈接: golang日志包logger

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Golang開發(fā)動態(tài)庫的實現(xiàn)
  • golang實踐-第三方包為私有庫的配置方案
  • 完美解決golang go get私有倉庫的問題
  • golang gopm get -g -v 無法獲取第三方庫的解決方案
  • Golang: 內建容器的用法
  • 淺談golang 中time.After釋放的問題
  • golang 定時任務方面time.Sleep和time.Tick的優(yōu)劣對比分析
  • Golang如何調用windows下的dll動態(tài)庫中的函數(shù)

標簽:汕頭 重慶 梅河口 雞西 蘭州 銅川 欽州 吐魯番

巨人網(wǎng)絡通訊聲明:本文標題《golang日志包logger的用法詳解》,本文關鍵詞  golang,日志,包,logger,的,用法,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang日志包logger的用法詳解》相關的同類信息!
  • 本頁收集關于golang日志包logger的用法詳解的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    777a∨成人精品桃花网| 免费看欧美美女黄的网站| 国产老肥熟一区二区三区| 精品国产百合女同互慰| 日本一区二区三区高清不卡 | 欧美精品一区二区三区高清aⅴ | 欧美亚洲动漫另类| 精品国产91久久久久久久妲己 | 久久欧美一区二区| 国产精品久久久久9999吃药| 国内不卡的二区三区中文字幕| 中文字幕精品综合| 亚洲一线二线三线视频| 久久久精品欧美丰满| 亚洲综合免费观看高清完整版 | 26uuu色噜噜精品一区| 成人午夜av电影| 精品国产乱码久久久久久蜜臀| 3atv一区二区三区| a美女胸又www黄视频久久| 欧美伊人久久久久久久久影院| 欧美欧美欧美欧美首页| 一区二区三区日韩欧美精品| 美国精品在线观看| 成人av资源在线| 日韩精品午夜视频| 精品国产伦理网| 日韩二区在线观看| 欧美一区二区三区系列电影| 91小视频在线| 色哟哟一区二区| 日本一区二区免费在线观看视频 | 亚洲一区二区三区精品在线| 色久优优欧美色久优优| 亚洲国产精品久久人人爱蜜臀| 91福利区一区二区三区| 婷婷成人激情在线网| 欧美精品一区二区在线观看| 成人app下载| 丁香六月久久综合狠狠色| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 精品一区二区三区欧美| 国产精品综合视频| 欧美国产一区视频在线观看| 成人在线视频一区二区| 亚洲精品视频一区二区| 日韩欧美国产一区二区在线播放 | 国产欧美一区二区精品性| 色94色欧美sute亚洲线路一久| 日本女优在线视频一区二区| 亚洲天堂2014| 日韩精品最新网址| 成人夜色视频网站在线观看| 洋洋av久久久久久久一区| 91麻豆精品国产91久久久久久| av在线不卡免费看| 国产一区二区三区在线观看精品| 五月婷婷综合在线| 国产精品美女久久久久久久网站| 欧美日产国产精品| 色呦呦国产精品| 91美女精品福利| 国产乱理伦片在线观看夜一区| 日本aⅴ亚洲精品中文乱码| 一区二区三区四区乱视频| 亚洲国产岛国毛片在线| 一本色道久久综合狠狠躁的推荐| 日本aⅴ亚洲精品中文乱码| 婷婷夜色潮精品综合在线| 精品91自产拍在线观看一区| 成人性生交大片免费| 天堂久久久久va久久久久| 日韩国产欧美在线观看| 国产视频亚洲色图| 国产精品黄色在线观看 | 一区二区三区国产| 国产又黄又大久久| av男人天堂一区| 成人高清视频在线| zzijzzij亚洲日本少妇熟睡| www.综合网.com| 91久久精品一区二区二区| 精品视频999| 欧美肥胖老妇做爰| 久久夜色精品国产欧美乱极品| xfplay精品久久| 精品精品国产高清一毛片一天堂| 欧美群妇大交群中文字幕| 欧美一区二区二区| 久久久久国产免费免费| 伊人婷婷欧美激情| 国产一区二区三区免费看| 一本久道中文字幕精品亚洲嫩| 欧美一级淫片007| 亚洲猫色日本管| 亚洲国产人成综合网站| 成人av在线电影| 在线成人小视频| 国产精品麻豆一区二区| 日韩成人午夜电影| 欧美性xxxxxx少妇| 久久久久久久网| 日韩精品一区二区三区视频播放| 在线播放中文一区| 国产欧美日韩三级| 久久成人久久鬼色| 国产乱码精品一区二区三| 欧美一级高清大全免费观看| 欧美极品美女视频| 国产精品视频一区二区三区不卡| 中文字幕一区二区三区乱码在线| 欧美综合亚洲图片综合区| www.日韩大片| 欧美日韩亚洲综合在线 | 91国产免费观看| 精品剧情v国产在线观看在线| 亚洲视频免费观看| 成人av网站在线观看免费| 欧美怡红院视频| 日韩精品久久久久久| 国产在线视频一区二区三区| 91精品久久久久久久99蜜桃 | 亚洲精品少妇30p| 99视频一区二区| 正在播放一区二区| 日韩av电影免费观看高清完整版 | 成人精品一区二区三区四区| 久久久高清一区二区三区| 日韩在线一区二区三区| 日韩一卡二卡三卡四卡| 久久综合中文字幕| 欧美激情一二三区| 日本高清视频一区二区| 婷婷国产在线综合| 91麻豆福利精品推荐| 亚洲欧美综合在线精品| 精品一区二区免费看| 欧美影院一区二区三区| 成人国产精品免费网站| 日韩一区和二区| 久久不见久久见中文字幕免费| 2023国产精品| 欧美日韩亚洲综合一区二区三区| 久久99国产精品成人| 国产视频一区在线播放| 欧美色大人视频| 亚洲精品国产第一综合99久久| 717成人午夜免费福利电影| 一区二区三区 在线观看视频| 日韩欧美一级二级三级| 丁香婷婷深情五月亚洲| 国产精品理论片在线观看| 欧美一级欧美一级在线播放| 成人小视频免费在线观看| 免费成人av在线播放| 国产精品久久99| 亚洲国产精品v| 日本欧美一区二区三区乱码| 欧美国产国产综合| 日韩精品一区二区在线观看| 日本亚洲欧美天堂免费| 久久久91精品国产一区二区精品 | 久久久亚洲高清| 94色蜜桃网一区二区三区| 免费成人美女在线观看.| 亚洲一区二区欧美| 欧美日本乱大交xxxxx| 免费日本视频一区| 天堂久久一区二区三区| 欧美日韩一区在线| av不卡一区二区三区| 日韩欧美成人午夜| 午夜成人免费电影| 精品国产成人系列| 国产成人av资源| 欧美一区二区三区四区五区| 欧美日韩美女一区二区| 337p日本欧洲亚洲大胆色噜噜| 欧美国产乱子伦| 欧美一区二区视频网站| 中文字幕一区二区三区视频 | 久久久亚洲高清| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品成人悠悠色影视| 亚洲国产一区二区视频| 精品国产一区二区三区久久影院| 色综合色综合色综合| 日本一区二区成人| 亚洲va韩国va欧美va| 亚洲国产高清在线观看视频| 欧美久久一二区| 在线日韩国产精品| 国产剧情一区在线| 国产999精品久久久久久绿帽| 麻豆成人综合网| 亚洲你懂的在线视频| 天堂一区二区在线| 国内精品免费**视频| 91小视频在线观看| 日韩欧美一区二区免费|