Disabling logging from the standard library's log package can be a common need when dealing with heavily instrumented code. Understanding the most effective way to achieve this is crucial.
Initially, setting a flag to check before making log calls or commenting them out may seem like viable options. However, upon closer inspection, you'll realize that a more robust solution exists.
To disable the standard logger, consider utilizing the io/ioutil package's Discard value. By setting the log package's SetOutput method to ioutil.Discard, you effectively redirect all logging output to a void that silently discards it.
import ( "log" "io/ioutil" ) func init() { log.SetOutput(ioutil.Discard) }
Alternatively, if you're using Go version 1.16 or later, you can directly assign io.Discard to the SetOutput method.
log.SetOutput(io.Discard)
This simple yet effective solution ensures that your logging is suppressed without the need for manual checks or code modifications specific to production environments.
The above is the detailed content of How to Suppress Logging Output from the Standard Logger in Go?. For more information, please follow other related articles on the PHP Chinese website!