colored logfmt
Juan Batiz-Benet committed
Oct 17, 2014 at 00:51 UTC
e7d713380c6952b4e51260e4770605e8f84a8d1b
1 file changed
+21
-4
util/log.go
+21
-4
@@ -13,8 +13,19 @@ func init() {
13
14
var log = Logger("util")
15
16
-// LogFormat is the format used for our logger.
17
-var LogFormat = "%{color}%{time:2006-01-02 15:04:05.999999} %{shortfile} %{level}: %{color:reset}%{message}"
16
+var ansiGray = "\033[0;37m"
17
+
18
+// LogFormats is a map of formats used for our logger, keyed by name.
19
+var LogFormats = map[string]string{
20
+ "default": "%{color}%{time:2006-01-02 15:04:05.999999} %{level} %{shortfile}: %{color:reset}%{message}",
21
+ "color": ansiGray + "%{time:15:04:05.999} %{color}%{level} " + ansiGray + "%{shortfile}: %{color:reset}%{message}",
22
+}
23
+
24
+// Logging environment variables
25
+const (
26
+ envLogging = "IPFS_LOGGING"
27
+ envLoggingFmt = "IPFS_LOGGING_FMT"
28
+)
29
30
// loggers is the set of loggers in the system
31
var loggers = map[string]*logging.Logger{}
@@ -26,13 +37,19 @@ func POut(format string, a ...interface{}) {
37
38
// SetupLogging will initialize the logger backend and set the flags.
39
func SetupLogging() {
40
+
41
+ fmt := LogFormats[os.Getenv(envLoggingFmt)]
42
+ if fmt == "" {
43
+ fmt = LogFormats["default"]
44
+ }
45
+
46
backend := logging.NewLogBackend(os.Stderr, "", 0)
47
logging.SetBackend(backend)
31
- logging.SetFormatter(logging.MustStringFormatter(LogFormat))
48
+ logging.SetFormatter(logging.MustStringFormatter(fmt))
49
50
lvl := logging.ERROR
51
35
- if logenv := os.Getenv("IPFS_LOGGING"); logenv != "" {
52
+ if logenv := os.Getenv(envLogging); logenv != "" {
53
var err error
54
lvl, err = logging.LogLevel(logenv)
55
if err != nil {