Golang : How to save log messages to file?
Without log file, system administrators and developers life will be difficult or near impossible to do the work. There is no way to tell where and when a fatal error or crash happened. In this short tutorial, we will learn to save direct any log messages generated by your Golang program into a log file.
The code example below will pipe(direct) any log messages generated by log.Println()
functions to the log.txt file.
package main
import (
"log"
"os"
)
func main() {
// make sure log.txt exists first
// use touch command to create if log.txt does not exist
logFile, err := os.OpenFile("log.txt", os.O_WRONLY, 0666)
if err != nil {
panic(err)
}
defer logFile.Close()
// direct all log messages to log.txt
log.SetOutput(logFile)
log.Println("First log message!")
}
Hope this short tutorial can be useful to you. Remember to put to archive old log files with timestamp and roll over to new log file to avoid ending up with super big log file.
See also : Golang : Logging with logrus
By Adam Ng
IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.
Advertisement
Tutorials
+8.5k Linux/Unix : fatal: the Postfix mail system is already running
+7.3k Golang : Accessing dataframe-go element by row, column and name example
+29.9k Golang : How to declare kilobyte, megabyte, gigabyte, terabyte and so on?
+12.5k Golang : Exit, terminating or aborting a program
+4.4k Java : Generate multiplication table example
+16.4k Golang : Execute terminal command to remote machine example
+11.2k Golang : Byte format example
+8.2k Prevent Write failed: Broken pipe problem during ssh session with screen command
+13.9k Golang : Compress and decompress file with compress/flate example
+9.4k Golang : Extract or copy items from map based on value
+10.2k Golang : cannot assign type int to value (type uint8) in range error
+8.7k Android Studio : Image button and button example