Go Package log: Difference between revisions
Jump to navigation
Jump to search
Line 27: | Line 27: | ||
==Changing the Logging Device== | ==Changing the Logging Device== | ||
By default, the logger is set to write to <tt>stderr</tt>. To change that, execute <code>log.SetOutput()</code> from the <code>init()</code> function, or at least before using the logging system. | By default, the logger is set to write to <tt>stderr</tt>. To change that, execute <code>log.SetOutput()</code> from the <code>[[Go_Functions#init.28.29|init()]]</code> function, or at least before using the logging system. | ||
===Log to <tt>stdout</tt>=== | ===Log to <tt>stdout</tt>=== |
Revision as of 01:29, 19 December 2023
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: 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)
}
}