package
3.51.0
Repository: https://github.com/cloudfoundry/lager.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

lagerflags

Note: This repository should be imported as code.cloudfoundry.org/lager/lagerflags.

This library provides a flag called logLevel. The logger returned by lagerflags.New() will use the value of that flag to determine the log level.

To use, simply import this package in your main.go and call lagerflags.New(COMPONENT_NAME) to get a logger.

For example:

package main

import (
    "flag"
    "fmt"

    "code.cloudfoundry.org/lager/v3/lagerflags"
    "code.cloudfoundry.org/lager/v3"
)

func main() {
    lagerflags.AddFlags(flag.CommandLine)

    flag.Parse()

    logger, reconfigurableSink := lagerflags.New("my-component")
    logger.Info("starting")

    // Display the current minimum log level
    fmt.Printf("Current log level is ")
    switch reconfigurableSink.GetMinLevel() {
    case lager.DEBUG:
        fmt.Println("debug")
    case lager.INFO:
        fmt.Println("info")
    case lager.ERROR:
        fmt.Println("error")
    case lager.FATAL:
        fmt.Println("fatal")
    }

    // Change the minimum log level dynamically
    reconfigurableSink.SetMinLevel(lager.ERROR)
    logger.Debug("will-not-log")
}

Running the program above as go run main.go --logLevel debug will generate the following output:

{"timestamp":"1464388983.540486336","source":"my-component","message":"my-component.starting","log_level":1,"data":{}}
Current log level is debug