1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 14:20:54 +00:00

Merge pull request #1652 from JessonChan/develop

colorful console and go fmt
This commit is contained in:
astaxie 2016-02-26 16:10:11 +08:00
commit 6eaa5537f5
2 changed files with 32 additions and 34 deletions

View File

@ -111,7 +111,6 @@ var (
// GlobalSessions is the instance for the session manager
GlobalSessions *session.Manager
workPath string
// appConfigPath is the path to the config files
appConfigPath string
// appConfigProvider is the provider for the config, default is ini
@ -120,12 +119,8 @@ var (
func init() {
AppPath, _ = filepath.Abs(filepath.Dir(os.Args[0]))
workPath, _ = os.Getwd()
workPath, _ = filepath.Abs(workPath)
if workPath != AppPath {
os.Chdir(AppPath)
}
os.Chdir(AppPath)
BConfig = &Config{
AppName: "beego",
@ -175,7 +170,7 @@ func init() {
SessionName: "beegosessionID",
SessionGCMaxLifetime: 3600,
SessionProviderConfig: "",
SessionCookieLifeTime: 0, //set cookie default is the brower life
SessionCookieLifeTime: 0, //set cookie default is the browser life
SessionAutoSetCookie: true,
SessionDomain: "",
},
@ -189,7 +184,7 @@ func init() {
appConfigPath = filepath.Join(AppPath, "conf", "app.conf")
if !utils.FileExists(appConfigPath) {
AppConfig = &beegoAppConfig{config.NewFakeConfig()}
AppConfig = &beegoAppConfig{innerConfig: config.NewFakeConfig()}
return
}
@ -202,11 +197,11 @@ func parseConfig(appConfigPath string) (err error) {
if err != nil {
return err
}
// set the runmode first
// set the run mode first
if envRunMode := os.Getenv("BEEGO_RUNMODE"); envRunMode != "" {
BConfig.RunMode = envRunMode
} else if runmode := AppConfig.String("RunMode"); runmode != "" {
BConfig.RunMode = runmode
} else if runMode := AppConfig.String("RunMode"); runMode != "" {
BConfig.RunMode = runMode
}
BConfig.AppName = AppConfig.DefaultString("AppName", BConfig.AppName)
@ -393,46 +388,46 @@ func (b *beegoAppConfig) Float(key string) (float64, error) {
return b.innerConfig.Float(key)
}
func (b *beegoAppConfig) DefaultString(key string, defaultval string) string {
func (b *beegoAppConfig) DefaultString(key string, defaultVal string) string {
if v := b.String(key); v != "" {
return v
}
return defaultval
return defaultVal
}
func (b *beegoAppConfig) DefaultStrings(key string, defaultval []string) []string {
func (b *beegoAppConfig) DefaultStrings(key string, defaultVal []string) []string {
if v := b.Strings(key); len(v) != 0 {
return v
}
return defaultval
return defaultVal
}
func (b *beegoAppConfig) DefaultInt(key string, defaultval int) int {
func (b *beegoAppConfig) DefaultInt(key string, defaultVal int) int {
if v, err := b.Int(key); err == nil {
return v
}
return defaultval
return defaultVal
}
func (b *beegoAppConfig) DefaultInt64(key string, defaultval int64) int64 {
func (b *beegoAppConfig) DefaultInt64(key string, defaultVal int64) int64 {
if v, err := b.Int64(key); err == nil {
return v
}
return defaultval
return defaultVal
}
func (b *beegoAppConfig) DefaultBool(key string, defaultval bool) bool {
func (b *beegoAppConfig) DefaultBool(key string, defaultVal bool) bool {
if v, err := b.Bool(key); err == nil {
return v
}
return defaultval
return defaultVal
}
func (b *beegoAppConfig) DefaultFloat(key string, defaultval float64) float64 {
func (b *beegoAppConfig) DefaultFloat(key string, defaultVal float64) float64 {
if v, err := b.Float(key); err == nil {
return v
}
return defaultval
return defaultVal
}
func (b *beegoAppConfig) DIY(key string) (interface{}, error) {

View File

@ -47,17 +47,17 @@ var colors = []brush{
// consoleWriter implements LoggerInterface and writes messages to terminal.
type consoleWriter struct {
lg *log.Logger
Level int `json:"level"`
Color bool `json:"color"`
lg *log.Logger
Level int `json:"level"`
Colorful bool `json:"color"` //this filed is useful only when system's terminal supports color
}
// NewConsole create ConsoleWriter returning as LoggerInterface.
func NewConsole() Logger {
cw := &consoleWriter{
lg: log.New(os.Stdout, "", 0),
Level: LevelDebug,
Color: true,
lg: log.New(os.Stdout, "", 0),
Level: LevelDebug,
Colorful: true,
}
return cw
}
@ -68,7 +68,11 @@ func (c *consoleWriter) Init(jsonConfig string) error {
if len(jsonConfig) == 0 {
return nil
}
return json.Unmarshal([]byte(jsonConfig), c)
err := json.Unmarshal([]byte(jsonConfig), c)
if runtime.GOOS == "windows" {
c.Colorful = false
}
return err
}
// WriteMsg write message in console.
@ -77,12 +81,11 @@ func (c *consoleWriter) WriteMsg(when time.Time, msg string, level int) error {
return nil
}
msg = formatLogTime(when) + msg
if runtime.GOOS == "windows" || !c.Color {
if c.Colorful {
c.lg.Println(colors[level](msg))
} else {
c.lg.Println(msg)
return nil
}
c.lg.Println(colors[level](msg))
return nil
}