2018-11-10 11:47:30 +00:00
|
|
|
package logging
|
2017-11-09 20:27:03 +00:00
|
|
|
|
2018-10-26 16:25:07 +00:00
|
|
|
import (
|
|
|
|
"os"
|
2018-11-10 11:47:30 +00:00
|
|
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
glogging "github.com/op/go-logging"
|
2018-10-26 16:25:07 +00:00
|
|
|
)
|
2017-11-09 20:27:03 +00:00
|
|
|
|
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"
|
2017-11-09 20:27:03 +00:00
|
|
|
|
|
|
|
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
|
2017-11-09 20:27:03 +00:00
|
|
|
var modeName = DebugMode
|
|
|
|
|
|
|
|
func SetMode(value string) {
|
|
|
|
switch value {
|
|
|
|
case DebugMode:
|
2017-11-19 16:00:37 +00:00
|
|
|
gomarkMode = debugCode
|
2017-11-09 20:27:03 +00:00
|
|
|
case ReleaseMode:
|
2017-11-19 16:00:37 +00:00
|
|
|
gomarkMode = releaseCode
|
2017-11-09 20:27:03 +00:00
|
|
|
case TestMode:
|
2017-11-19 16:00:37 +00:00
|
|
|
gomarkMode = testCode
|
2017-11-09 20:27:03 +00:00
|
|
|
default:
|
2018-10-28 19:19:12 +00:00
|
|
|
log.Panic("go-bookmark mode unknown: " + value)
|
2017-11-09 20:27:03 +00:00
|
|
|
}
|
|
|
|
modeName = value
|
|
|
|
}
|
|
|
|
|
2017-11-19 20:42:20 +00:00
|
|
|
func RunMode() string {
|
2017-11-09 20:27:03 +00:00
|
|
|
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
|
|
|
}
|