1
0
mirror of https://github.com/drone/drone-cli.git synced 2025-11-16 05:07:13 +01:00
drone-cli/runner/run/log.go
2015-03-15 16:37:35 -07:00

46 lines
701 B
Go

package main
import (
"bytes"
"fmt"
"github.com/Sirupsen/logrus"
)
type formatter struct {
nocolor bool
}
func (f *formatter) Format(entry *logrus.Entry) ([]byte, error) {
var buf bytes.Buffer
buf.WriteString("\033[2m")
buf.WriteString("[drone]")
for k, v := range entry.Data {
if k != "exit_code" {
continue
}
if v == 0 {
buf.WriteString("\033[1;32m SUCCESS\033[0m")
} else {
buf.WriteString("\033[1;31m FAILURE\033[0m")
}
}
buf.WriteByte(' ')
buf.WriteString(entry.Message)
buf.WriteByte(' ')
for k, v := range entry.Data {
buf.WriteString(
fmt.Sprintf("%s=%v", k, v),
)
}
buf.WriteString("\033[0m")
buf.WriteByte('\n')
return buf.Bytes(), nil
}