simple library that provides compile-time or runtime set debug checks
- Go 94.1%
- Shell 5.9%
|
|
||
|---|---|---|
| debug.go | ||
| debug_env.go | ||
| debug_env_test.go | ||
| debug_off.go | ||
| debug_off_test.go | ||
| debug_on.go | ||
| debug_on_test.go | ||
| go.mod | ||
| LICENSE | ||
| pprof_off.go | ||
| pprof_off_test.go | ||
| pprof_on.go | ||
| pprof_on_test.go | ||
| README.md | ||
| run_tests.sh | ||
go-debug
This library provides a very simple method for compile-time or runtime determined debug checks, set using build tags.
The compile-time checks use Go constants, so when disabled your debug code will not be compiled.
The possible build tags are:
-
"debug" || "" = debug determined at compile-time
-
"debugenv" = debug determined at runtime using the $DEBUG environment variable
An example for how this works in practice can be seen by the following code:
func main() {
println("debug.DEBUG() =", debug.DEBUG())
}
# Debug determined at compile-time, it is disabled
$ go run .
debug.DEBUG() = false
# Debug determined at compile-time, it is enabled
$ go run -tags=debug .
debug.DEBUG() = true
# Debug determined at runtime, $DEBUG is not set
$ go run -tags=debugenv .
debug.DEBUG() = false
# Debug determined at runtime, $DEBUG is set
$ DEBUG=y go run -tags=debugenv .
debug.DEBUG() = true