This is a created article in which the information may have evolved or changed.
Logs are important information in your program, but sometimes you don't want to output them to the screen. The following is the log output to the specified file in the Golang to do the following records:
Package Main
Import (
"Flag"
"FMT"
"Log"
"OS"
)
VAR (
LOGF = flag. String ("Log", "Test.log", "Log file name")//Bind run-time parameter address to LOGF runtime without parameter default LOGF to Test.log
)
Func Main () {
Flag. Parse ()//parse parameters paid to LOGF
outfile, err: = OS. OpenFile (*LOGF, OS. O_create|os. O_rdwr|os. O_append, 0666)//Open file, if file does not exist create a file with the same name and open
If err! = Nil {
Fmt. Println (*outfile, "Open Failed")
Os. Exit (1)
}
Log. Setoutput (outfile)//Set log output file, do not set log output default to stdout
Log. SetFlags (log. Ldate | Log. Ltime | Log. Lshortfile)//Set promise log each line before the flag information, here set the date, print time, the file name of the current go file
Write log
Log. Printf ("Test out:%v \ n", "Test Log")//print log to log file, you can see the output in the output file you set
}
Save File as Test.go
Run as: Log
Go run Test.go-log test.log or go run test.go-log/absolute path/file name
You can read the log.