Go Package log

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

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:

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)
   }
}