新聞中心
日志文件
默認情況下,日志文件名稱以當(dāng)前時間日期命名,格式為?YYYY-MM-DD.log?,我們可以使用?SetFile?方法來設(shè)置文件名稱的格式,并且文件名稱格式支持 時間管理-?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"
)
// 設(shè)置日志等級
func main() {
ctx := context.TODO()
path := "./glog"
glog.SetPath(path)
glog.SetStdoutPrint(false)
// 使用默認文件名稱格式
glog.Print(ctx, "標(biāo)準(zhǔn)文件名稱格式,使用當(dāng)前時間時期")
// 通過SetFile設(shè)置文件名稱格式
glog.SetFile("stdout.log")
glog.Print(ctx, "設(shè)置日志輸出文件名稱格式為同一個文件")
// 鏈?zhǔn)讲僮髟O(shè)置文件名稱格式
glog.File("stderr.log").Print(ctx, "支持鏈?zhǔn)讲僮?)
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í)行后,輸出結(jié)果為:
[
"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?時間格式,格式內(nèi)容需要使用?{xxx}?包含起來。該示例中也使用到了鏈?zhǔn)讲僮鞯奶匦裕唧w請看后續(xù)說明。
日志目錄
默認情況下,?glog?將會輸出日志內(nèi)容到標(biāo)準(zhǔn)輸出,我們可以通過?SetPath?方法設(shè)置日志輸出的目錄路徑,這樣日志內(nèi)容將會寫入到日志文件中,并且由于其內(nèi)部使用了?gfpool?文件指針池,文件寫入的效率相當(dāng)優(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"
)
// 設(shè)置日志等級
func main() {
ctx := context.TODO()
path := "./glog"
glog.SetPath(path)
glog.Print(ctx, "日志內(nèi)容")
list, err := gfile.ScanDir(path, "*")
g.Dump(err)
g.Dump(list)
}
執(zhí)行后,輸出內(nèi)容為:
2021-12-31 11:32:16.742 日志內(nèi)容
[
"C:\hailaz\test\glog\2021-12-31.log",
]
當(dāng)通過?SetPath?設(shè)置日志的輸出目錄,如果目錄不存在時,將會遞歸創(chuàng)建該目錄路徑。可以看到,執(zhí)行?Println?之后,在?/tmp?下創(chuàng)建了日志目錄?glog?,并且在其下生成了日志文件。同時,我們也可以看見日志內(nèi)容不僅輸出到了文件,默認情況下也輸出到了終端,我們可以通過?SetStdoutPrint(false)?方法來關(guān)閉終端的日志輸出,這樣日志內(nèi)容僅會輸出到日志文件中。
當(dāng)前題目:創(chuàng)新互聯(lián)GoFrame教程:GoFrame日志組件-文件目錄
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/dpsggis.html


咨詢
建站咨詢
