日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-日志級別

日志級別

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

創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目網(wǎng)站制作、成都網(wǎng)站制作網(wǎ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?配置項也是通過字符串來配置日志級別。支持的日志級別字符串如下,不區(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 

網(wǎng)站標(biāo)題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-日志級別
URL分享:http://www.dlmjj.cn/article/dhdochi.html