To write custom debug messages to a log file in Go, you can use the standard library's log
package. Below is an example of how you can set up a custom logger that writes debug messages to a log file:
import (
"log"
"os"
)
var (
debugLogger *log.Logger
)
func InitLogger() {
file, err := os.OpenFile("debug.log", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0666)
if err != nil {
log.Fatal("Failed to open log file:", err)
}
debugLogger = log.New(file, "DEBUG: ", log.Ldate|log.Ltime|log.Lshortfile)
}
In the InitLogger()
function, we create a new file debug.log
(or open an existing one) to be used as the output destination for debug messages. Then, we initialize debugLogger
with the file and set a custom log prefix using log.New()
.
func main() {
InitLogger()
debugLogger.Println("This is a debug message")
// ...
}
Now, when you run your Go application, any debug messages you write using debugLogger
will be appended to the debug.log
file with a timestamp and the relevant file and line number information.
Note: You can customize the log message format and file path as per your requirements.