gitlab.com/gitlab-org/labkit@v1.21.0/log/examples_test.go (about)

     1  package log_test
     2  
     3  import (
     4  	"fmt"
     5  	"net/http"
     6  
     7  	"gitlab.com/gitlab-org/labkit/log"
     8  )
     9  
    10  func ExampleInitialize() {
    11  	// Initialize the global logger
    12  	closer, err := log.Initialize(
    13  		log.WithFormatter("json"),    // Use JSON formatting
    14  		log.WithLogLevel("info"),     // Use info level
    15  		log.WithOutputName("stderr"), // Output to stderr
    16  	)
    17  	defer closer.Close()
    18  	log.WithError(err).Info("This has been logged")
    19  
    20  	// Example of configuring a non-global logger using labkit
    21  	myLogger := log.New() // New logrus logger
    22  	closer2, err := log.Initialize(
    23  		log.WithLogger(myLogger),                  // Tell logkit to initialize myLogger
    24  		log.WithFormatter("text"),                 // Use text formatting
    25  		log.WithLogLevel("debug"),                 // Use debug level
    26  		log.WithOutputName("/var/log/labkit.log"), // Output to `/var/log/labkit.log`
    27  	)
    28  	defer closer2.Close()
    29  
    30  	log.WithError(err).Info("This has been logged")
    31  }
    32  
    33  func ExampleAccessLogger() {
    34  	handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
    35  		fmt.Fprintf(w, "Hello world")
    36  	})
    37  
    38  	// This func is used by WithExtraFields to add additional fields to the logger
    39  	extraFieldGenerator := func(r *http.Request) log.Fields {
    40  		return log.Fields{"header": r.Header.Get("X-Magical-Header")}
    41  	}
    42  
    43  	http.ListenAndServe(":8080",
    44  		log.AccessLogger(handler, // Add accesslogger middleware
    45  			log.WithExtraFields(extraFieldGenerator),                          // Include custom fields into the logs
    46  			log.WithFieldsExcluded(log.HTTPRequestReferrer|log.HTTPUserAgent), // Exclude user-agent and referrer fields from the logs
    47  		),
    48  	)
    49  }