flags are used to control the additional feature switches of the log component. These properties are controlled by combining constants, including:

    1. F_ASYNC = 1 << iota // Enable asynchronous log output
    2. F_FILE_LONG // Print call line number information with a full absolute path, e.g., /a/b/c/d.go:23
    3. F_FILE_SHORT // Print call line number information, only the file name, e.g., d.go:23, overrides F_FILE_LONG.
    4. F_TIME_DATE // Print the current date, e.g., 2009-01-23
    5. F_TIME_TIME // Print the current time, e.g., 01:23:23
    6. F_TIME_MILLI // Print the current time + milliseconds, e.g., 01:23:23.675
    7. F_TIME_STD = F_TIME_DATE | F_TIME_MILLI // (Default) Print the current date + time + milliseconds, e.g., 2009-01-23 01:23:23.675

    Usage example:

    1. package main
    2. import (
    3. "context"
    4. "github.com/gogf/gf/v2/os/glog"
    5. )
    6. func main() {
    7. ctx := context.TODO()
    8. l := glog.New()
    9. l.SetFlags(glog.F_TIME_TIME | glog.F_FILE_SHORT)
    10. l.Print(ctx, "time and short line number")
    11. l.SetFlags(glog.F_TIME_MILLI | glog.F_FILE_LONG)
    12. l.Print(ctx, "time with millisecond and long line number")
    13. l.SetFlags(glog.F_TIME_STD | glog.F_FILE_LONG)
    14. l.Print(ctx, "standard time format and long line number")
    15. }

    After execution, the terminal output is:

    1. PS C:\hailaz\test> go run .\main.go
    2. 16:05:35 main.go:13: time and short line number
    3. 16:05:35.108 C:/hailaz/test/main.go:15: time with millisecond and long line number
    4. 2022-01-05 16:05:35.109 C:/hailaz/test/main.go:17: standard time format and long line number