新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-文件目錄
日志文件
默認情況下,日志文件名稱以當前時間日期命名,格式為?YYYY-MM-DD.log?,我們可以使用?SetFile?方法來設置文件名稱的格式,并且文件名稱格式支持 時間管理-?gtime時間格式 。簡單示例:

package main
import (
"context"
"github.com/GOgf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gfile"
"github.com/gogf/gf/v2/os/glog"
)
// 設置日志等級
func main() {
ctx := context.TODO()
path := "./glog"
glog.SetPath(path)
glog.SetStdoutPrint(false)
// 使用默認文件名稱格式
glog.Print(ctx, "標準文件名稱格式,使用當前時間時期")
// 通過SetFile設置文件名稱格式
glog.SetFile("stdout.log")
glog.Print(ctx, "設置日志輸出文件名稱格式為同一個文件")
// 鏈式操作設置文件名稱格式
glog.File("stderr.log").Print(ctx, "支持鏈式操作")
glog.File("error-{Ymd}.log").Print(ctx, "文件名稱支持帶gtime日期格式")
glog.File("access-{Ymd}.log").Print(ctx, "文件名稱支持帶gtime日期格式")
list, err := gfile.ScanDir(path, "*")
g.Dump(err)
g.Dump(list)
}
執(zhí)行后,輸出結果為:
[
"C:\hailaz\test\glog\2021-12-31.log",
"C:\hailaz\test\glog\access-20211231.log",
"C:\hailaz\test\glog\error-20211231.log",
"C:\hailaz\test\glog\stderr.log",
"C:\hailaz\test\glog\stdout.log",
]
可以看到,文件名稱格式中如果需要使用?gtime?時間格式,格式內容需要使用?{xxx}?包含起來。該示例中也使用到了鏈式操作的特性,具體請看后續(xù)說明。
日志目錄
默認情況下,?glog?將會輸出日志內容到標準輸出,我們可以通過?SetPath?方法設置日志輸出的目錄路徑,這樣日志內容將會寫入到日志文件中,并且由于其內部使用了?gfpool?文件指針池,文件寫入的效率相當優(yōu)秀。簡單示例:
package main
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/os/gfile"
"github.com/gogf/gf/v2/os/glog"
)
// 設置日志等級
func main() {
ctx := context.TODO()
path := "./glog"
glog.SetPath(path)
glog.Print(ctx, "日志內容")
list, err := gfile.ScanDir(path, "*")
g.Dump(err)
g.Dump(list)
}
執(zhí)行后,輸出內容為:
2021-12-31 11:32:16.742 日志內容
[
"C:\hailaz\test\glog\2021-12-31.log",
]
當通過?SetPath?設置日志的輸出目錄,如果目錄不存在時,將會遞歸創(chuàng)建該目錄路徑??梢钥吹?,執(zhí)行?Println?之后,在?/tmp?下創(chuàng)建了日志目錄?glog?,并且在其下生成了日志文件。同時,我們也可以看見日志內容不僅輸出到了文件,默認情況下也輸出到了終端,我們可以通過?SetStdoutPrint(false)?方法來關閉終端的日志輸出,這樣日志內容僅會輸出到日志文件中。
分享標題:創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-文件目錄
瀏覽地址:http://www.5511xx.com/article/dpsggis.html


咨詢
建站咨詢
