av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-日志級別

日志級別

日志級別用于管理日志的輸出,我們可以通過設(shè)定特定的日志級別來關(guān)閉/開啟特定的日志內(nèi)容。 日志級別的設(shè)置可以通過兩個方法實(shí)現(xiàn):

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元積石山保安族東鄉(xiāng)族做網(wǎng)站,已為上家服務(wù),為積石山保安族東鄉(xiāng)族各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

func (l *Logger) SetLevel(level int)
func (l *Logger) SetLevelStr(levelStr string) error

SetLevel方法

通過?SetLevel?方法可以設(shè)置日志級別,?glog?模塊支持以下幾種日志級別常量設(shè)定:

LEVEL_ALL
LEVEL_DEV
LEVEL_PROD
LEVEL_DEBU
LEVEL_INFO
LEVEL_NOTI
LEVEL_WARN
LEVEL_ERRO

我們可以通過位操作組合使用這幾種級別,例如其中?LEVEL_ALL?等價于?LEVEL_DEBU? | ?LEVEL_INFO| ?LEVEL_NOTI| ?LEVEL_WARN| ?LEVEL_ERRO| ?LEVEL_CRIT。我們還可以通過?LEVEL_ALL& ^?LEVEL_DEBU& ^?LEVEL_INFO& ^?LEVEL_NOTI來過濾掉?LEVEL_DEBU?/?LEVEL_INFO?/?LEVEL_NOTI?日志內(nèi)容。

當(dāng)然?glog?模塊還有其他的一些級別,如?CRIT?和?FATA?,但是這兩個級別是非常嚴(yán)重的錯誤,無法由開發(fā)者自定義屏蔽,產(chǎn)生嚴(yán)重錯誤的時候。將會產(chǎn)生一些額外的系統(tǒng)動作,如?panic?/?exit?。

使用示例:

package main

import (
	"context"

	"github.com/GOgf/gf/v2/os/glog"
)

func main() {
	ctx := context.TODO()
	l := glog.New()
	l.Info(ctx, "info1")
	l.SetLevel(glog.LEVEL_ALL ^ glog.LEVEL_INFO)
	l.Info(ctx, "info2")
}

執(zhí)行后,輸出結(jié)果為:

2021-12-31 11:16:57.272 [INFO] info1

SetLevelStr方法

大部分場景下我們可以通過?SetLevelStr?方法來通過字符串設(shè)置日志級別,配置文件中的?level?配置項(xiàng)也是通過字符串來配置日志級別。支持的日志級別字符串如下,不區(qū)分大小寫:

"ALL":      LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"DEV":      LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"DEVELOP":  LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"PROD":     LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"PRODUCT":  LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"DEBU":     LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"DEBUG":    LEVEL_DEBU | LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"INFO":     LEVEL_INFO | LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"NOTI":     LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"NOTICE":   LEVEL_NOTI | LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"WARN":     LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"WARNING":  LEVEL_WARN | LEVEL_ERRO | LEVEL_CRIT,
"ERRO":     LEVEL_ERRO | LEVEL_CRIT,
"ERROR":    LEVEL_ERRO | LEVEL_CRIT,
"CRIT":     LEVEL_CRIT,
"CRITICAL": LEVEL_CRIT,

可以看到,通過級別名稱設(shè)置的日志級別是按照日志級別的高低來進(jìn)行過濾的:?DEBU< ?INFO< ?NOTI< ?WARN< ?ERRO< ?CRIT,也支持?ALL?, ?DEV?, ?PROD?常見部署模式配置名稱。

使用示例:

package main

import (
	"context"

	"github.com/gogf/gf/v2/os/glog"
)

func main() {
	ctx := context.TODO()
	l := glog.New()
	l.Info(ctx, "info1")
	l.SetLevelStr("notice")
	l.Info(ctx, "info2")
}

執(zhí)行后,輸出結(jié)果為:

2021-12-31 11:20:15.019 [INFO] info1 

級別名稱

在日志中我們會看到不同級別的打印內(nèi)容,會在內(nèi)容前面帶有不同的日志級別名稱。默認(rèn)的日志級別名稱如下:

LEVEL_DEBU: "DEBU",
LEVEL_INFO: "INFO",
LEVEL_NOTI: "NOTI",
LEVEL_WARN: "WARN",
LEVEL_ERRO: "ERRO",
LEVEL_CRIT: "CRIT",
LEVEL_PANI: "PANI",
LEVEL_FATA: "FATA",

為方便統(tǒng)一日志格式,保證比較優(yōu)雅的排版風(fēng)格,因此日志級別的名稱都使用了級別英文單詞的前四個字符。若有特殊需求需要修改日志級別名稱的,可以通過以下方法進(jìn)行設(shè)置:

func (l *Logger) SetLevelPrefix(level int, prefix string)
func (l *Logger) SetLevelPrefixes(prefixes map[int]string)

使用示例:

package main

import (
	"context"

	"github.com/gogf/gf/v2/os/glog"
)

func main() {
	ctx := context.TODO()
	l := glog.New()
	l.SetLevelPrefix(glog.LEVEL_DEBU, "debug")
	l.Debug(ctx, "test")
}

執(zhí)行后,終端輸出:

2021-12-31 11:21:45.754 [debug] test 

分享文章:創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-日志級別
轉(zhuǎn)載來源:http://uogjgqi.cn/article/dhdochi.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流