2016-03-24 25 views
5

Golang günlük paketinden Logrus'a geçiş yapmaya çalışıyorum. Sorunum, kaydedilen iletilerin zaman damgası biçiminin nasıl özelleştirileceğidir. Varsayılan, başlangıçtan beri bir saniye sayacıdır ancak bir "2016-03-24 17:10:15" biçimi istiyorum. Benim basit test kodum:Logrus zaman damgası biçimlendirme

package main 

import (
     "github.com/Sirupsen/logrus" 
) 

func main() { 
     customFormatter := new(logrus.TextFormatter) 
     customFormatter.TimestampFormat = "2006-01-02 15:04:05" 
     logrus.SetFormatter(customFormatter) 
     logrus.Info("Hello Walrus") 
} 

Bu derleme ve iyi çalışır ancak zaman damgası biçimi değişmez. Neden çalışmadığı konusunda bir fikir verebilir mi?

Teşekkür

cevap

9

Sana bağlı bir TTY ile kendiniz çalıştırırken damgası etkinleştirmek etkinleştirmek için true Aşağıdaki alan ayarlamak istediğiniz inanıyoruz. logrus.TextFormatter belgelerine

:

package main 

import (
    "github.com/Sirupsen/logrus" 
) 

func main() { 
    customFormatter := new(logrus.TextFormatter) 
    customFormatter.TimestampFormat = "2006-01-02 15:04:05" 
    logrus.SetFormatter(customFormatter) 
    logrus.Info("Hello Walrus before FullTimestamp=true") 
    customFormatter.FullTimestamp = true 
    logrus.Info("Hello Walrus after FullTimestamp=true") 
} 

üretir:

$ go run main.go 
INFO[0000] Hello Walrus before FullTimestamp=true 
INFO[2016-03-24 20:18:56] Hello Walrus after FullTimestamp=true 
// Enable logging the full timestamp when a TTY is attached instead of just 
// the time passed since beginning of execution. 
FullTimestamp bool 

sizin sağlanan örnek Tweaking
İlgili konular