1
0
mirror of https://github.com/astaxie/beego.git synced 2024-06-28 16:14:12 +00:00

Merge pull request #1638 from pjoe/log_console_nocolor

Add noColor option for console logger
This commit is contained in:
astaxie 2016-01-28 22:39:02 +08:00
commit bd79972d85
2 changed files with 11 additions and 2 deletions

View File

@ -48,7 +48,8 @@ var colors = []brush{
// consoleWriter implements LoggerInterface and writes messages to terminal.
type consoleWriter struct {
lg *log.Logger
Level int `json:"level"`
Level int `json:"level"`
Color bool `json:"color"`
}
// NewConsole create ConsoleWriter returning as LoggerInterface.
@ -56,6 +57,7 @@ func NewConsole() Logger {
cw := &consoleWriter{
lg: log.New(os.Stdout, "", 0),
Level: LevelDebug,
Color: true,
}
return cw
}
@ -75,7 +77,7 @@ func (c *consoleWriter) WriteMsg(when time.Time, msg string, level int) error {
return nil
}
msg = formatLogTime(when) + msg
if runtime.GOOS == "windows" {
if runtime.GOOS == "windows" || !c.Color {
c.lg.Println(msg)
return nil
}

View File

@ -42,3 +42,10 @@ func TestConsole(t *testing.T) {
log2.SetLogger("console", `{"level":3}`)
testConsoleCalls(log2)
}
// Test console without color
func TestConsoleNoColor(t *testing.T) {
log := NewLogger(100)
log.SetLogger("console", `{"color":false}`)
testConsoleCalls(log)
}