日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

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

新聞中心

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

日志組件是?GOFrame?框架核心的組件之一,當然也支持非常方便的配置管理功能。

成都創(chuàng)新互聯(lián)專注于翁源網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供翁源營銷型網(wǎng)站建設(shè),翁源網(wǎng)站制作、翁源網(wǎng)頁設(shè)計、翁源網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造翁源網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供翁源網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

配置文件(推薦)

日志組件支持配置文件,當使用?g.Log?(單例名稱)獲取?Logger?單例對象時,將會自動通過默認的配置管理對象獲取對應(yīng)的?Logger?配置。默認情況下會讀取?logger?.單例名稱配置項,當該配置項不存在時,將會讀取默認的?logger?配置項。配置項請參考配置對象結(jié)構(gòu)定義:https://pkg.go.dev/github.com/gogf/gf/v2/os/glog#Config

完整配置文件配置項及說明如下,其中配置項名稱不區(qū)分大小寫:

logger:
  path:                  "/var/log/"   # 日志文件路徑。默認為空,表示關(guān)閉,僅輸出到終端
  file:                  "{Y-m-d}.log" # 日志文件格式。默認為"{Y-m-d}.log"
  prefix:                ""            # 日志內(nèi)容輸出前綴。默認為空
  level:                 "all"         # 日志輸出級別
  ctxKeys:               []            # 自定義Context上下文變量名稱,自動打印Context的變量到日志中。默認為空
  header:                true          # 是否打印日志的頭信息。默認true
  stdout:                true          # 日志是否同時輸出到終端。默認true
  rotateSize:            0             # 按照日志文件大小對文件進行滾動切分。默認為0,表示關(guān)閉滾動切分特性
  rotateExpire:          0             # 按照日志文件時間間隔對文件滾動切分。默認為0,表示關(guān)閉滾動切分特性
  rotateBackupLimit:     0             # 按照切分的文件數(shù)量清理切分文件,當滾動切分特性開啟時有效。默認為0,表示不備份,切分則刪除
  rotateBackupExpire:    0             # 按照切分的文件有效期清理切分文件,當滾動切分特性開啟時有效。默認為0,表示不備份,切分則刪除
  rotateBackupCompress:  0             # 滾動切分文件的壓縮比(0-9)。默認為0,表示不壓縮
  rotateCheckInterval:   "1h"          # 滾動切分的時間檢測間隔,一般不需要設(shè)置。默認為1小時
  stdoutColorDisabled:   false         # 關(guān)閉終端的顏色打印。默認開啟
  writerColorEnable:     false         # 日志文件是否帶上顏色。默認false,表示不帶顏色

其中,?level?配置項使用字符串配置,按照日志級別支持以下配置:?DEBU?< ?INFO< ?NOTI< ?WARN< ?ERRO< ?CRIT,也支持?ALL?, ?DEV?, ?PROD?常見部署模式配置名稱。?level?配置項字符串不區(qū)分大小寫。

示例1,默認配置項

logger:
  path:    "/var/log"
  level:   "all"
  stdout:  false

隨后可以使用?g.Log()?獲取默認的單例對象時自動獲取并設(shè)置該配置。

示例2,多個配置項

多個?Logger?的配置示例:

logger:
  path:    "/var/log"
  level:   "all"
  stdout:  false
  logger1:
    path:    "/var/log/logger1"
    level:   "dev"
    stdout:  false
  logger2:
    path:    "/var/log/logger2"
    level:   "prod"
    stdout:  true

我們可以通過單例對象名稱獲取對應(yīng)配置的?Logger?單例對象:

// 對應(yīng) logger.logger1 配置項
l1 := g.Log("logger1")
// 對應(yīng) logger.logger2 配置項
l2 := g.Log("logger2")
// 對應(yīng)默認配置項 logger
l3 := g.Log("none")
// 對應(yīng)默認配置項 logger
l4 := g.Log()

配置方法(高級)

配置方法用于模塊化使用?glog?時由開發(fā)者自己進行配置管理。

簡要說明:

  1. 可以通過?SetConfig?及?SetConfigWithMap?來設(shè)置。
  2. 也可以使用?Logger?對象的?Set*?方法進行特定配置的設(shè)置。
  3. 主要注意的是,配置項在?Logger?對象執(zhí)行日志輸出之前設(shè)置,避免并發(fā)安全問題。

我們可以使用?SetConfigWithMap?方法通過?Key-Value?鍵值對來設(shè)置/修改?Logger?的特定配置,其余的配置使用默認配置即可。其中?Key?的名稱即是?Config?這個?struct?中的屬性名稱,并且不區(qū)分大小寫,單詞間也支持使用?-?/?_?/空格符號連接。

簡單示例:

logger := glog.New()
logger.SetConfigWithMap(g.Map{
    "path":     "/var/log",
    "level":    "all",
    "stdout":   false,
    "StStatus": 0,
})
logger.Print("test")

其中?StStatus?表示是否開啟堆棧打印,設(shè)置為?0?表示關(guān)閉。鍵名也可以使用?stStatus?, ?st-status?, ?st_status?, ?St Status?,其他配置屬性以此類推。


新聞名稱:創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-配置管理
路徑分享:http://www.5511xx.com/article/cogdops.html