Go Package log: Difference between revisions
Jump to navigation
Jump to search
Line 20: | Line 20: | ||
=Elements= | =Elements= | ||
==<tt>log.Fatal()</tt>, <tt>log.Fatalf()</tt>== | |||
{{External|https://golang.org/pkg/log/#Fatal}} | |||
<code>Fatal</code> is equivalent to <code>Print()</code> followed by a call to <code>os.Exit(1)</code>. | |||
=Recipes= | =Recipes= |
Latest revision as of 21:11, 3 January 2024
External
Internal
Overview
The "log" package provides support for logging messages to stdout, stderr or custom devices.
import (
"log"
)
...
log.Printf("something %s\n", "else")
Elements
log.Fatal(), log.Fatalf()
Fatal
is equivalent to Print()
followed by a call to os.Exit(1)
.
Recipes
Changing the Logging Device
By default, the logger is set to write to stderr
. To change that, execute log.SetOutput()
from the init()
function, or at least before using the logging system.
Log to stdout
import (
"log"
"os"
)
...
func init() {
// change the device for logging to stdout
log.SetOutput(os.Stdout)
}
Log to a File
import (
"log"
"os"
)
...
func init() {
// change the device for logging to a custom file
fileName := "/tmp/somefile.log"
f, err := os.Create(fileName)
if err != nil {
fmt.Printf("failed to open log file %s for writing\n", fileName)
...
} else {
log.SetOutput(f)
}
}