gosuki/logging/mode.go

60 lines
890 B
Go
Raw Normal View History

2018-11-10 11:47:30 +00:00
package logging
import (
"os"
2018-11-10 11:47:30 +00:00
"github.com/gin-gonic/gin"
glogging "github.com/op/go-logging"
)
2018-11-10 11:47:30 +00:00
var log = glogging.MustGetLogger("MODE")
2017-11-19 16:00:37 +00:00
const ENV_GOMARK_MODE = "GOMARK_MODE"
const (
DebugMode string = "debug"
ReleaseMode string = "release"
TestMode string = "test"
)
const (
debugCode = iota
releaseCode
testCode
)
2017-11-19 16:00:37 +00:00
var gomarkMode = debugCode
var modeName = DebugMode
func SetMode(value string) {
switch value {
case DebugMode:
2017-11-19 16:00:37 +00:00
gomarkMode = debugCode
case ReleaseMode:
2017-11-19 16:00:37 +00:00
gomarkMode = releaseCode
case TestMode:
2017-11-19 16:00:37 +00:00
gomarkMode = testCode
default:
2018-10-28 19:19:12 +00:00
log.Panic("go-bookmark mode unknown: " + value)
}
modeName = value
}
2017-11-19 20:42:20 +00:00
func RunMode() string {
return modeName
}
2018-11-09 17:25:50 +00:00
func IsDebugging() bool {
return gomarkMode == debugCode
}
func init() {
2018-11-10 11:47:30 +00:00
mode := os.Getenv(ENV_GOMARK_MODE)
if mode == "" {
SetMode(DebugMode)
} else {
SetMode(mode)
gin.SetMode(mode)
}
2018-11-09 17:25:50 +00:00
}