2016-04-16 2 views
0

So fing ich an, 'logrus' zu benutzen. Ich habe es in meinem eigenen Logger-Paket, das wie folgt aussieht:Wie man Räume zwischen Protokollen loswird, wenn man 'logrus' Paket benutzt

package logger 

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

) 


func InitLogger() { 
    var textFormatter = new(log.TextFormatter) 
    textFormatter.TimestampFormat = "2006-01-02 15:04:05" 
    textFormatter.ForceColors = true 
    textFormatter.FullTimestamp = true 

    log.SetFormatter(textFormatter) 
} 


func Printf(format string, v ...interface{}) { 
    log.Printf(format, v...) 
} 

func Fatalf(format string, v ...interface{}) { 
    log.Fatalf(format, v...) 
} 

func Panicf(format string, v ...interface{}) { 
    log.Panicf(format, v...) 
} 

func Debugf(format string, v ...interface{}) { 
    log.Debugf(format, v...) 

(es so gilt für alle Logrus Protokollfunktionen nicht sehen den Punkt hier alle von ihnen einfügen, aber Sie bekommen die Idee. ..)

es über mein Projekt verwenden, wie:

import(
    log "logger" 
) 

Und alles ist pfirsich außer Protokolle mit Linienabständen zwischen ihnen gedruckt wird:

INFO[2016-04-16 17:32:51] pathPrefix: /app/ 
pathValue: {js ./app/} 

INFO[2016-04-16 17:32:51] pathPrefix: /node_modules/ 
pathValue: {js ./node_modules/} 

INFO[2016-04-16 17:32:51] Listening for HTTP on tcp (0.0.0.0:8080)  
INFO[2016-04-16 17:38:02] Starting HomeHandler       
INFO[2016-04-16 17:38:02] GET/Index 4.769735ms 

INFO[2016-04-16 17:38:02] Starting AuthCheckHandler      
ERRO[2016-04-16 17:38:02] Failed getting cookie from user: http: named cookie not present 

INFO[2016-04-16 17:38:02] GET /auth AuthCheckHandler 67.79µs 

INFO[2016-04-16 17:38:02] Starting AuthCheckHandler      
ERRO[2016-04-16 17:38:02] Failed getting cookie from user: http: named cookie not present 

INFO[2016-04-16 17:38:02] GET /auth AuthCheckHandler 82.195µs 

Wie kann ich diese Räume loswerden? konnte keine Lösung in Dokumentation/google finden noch hier so gehe ich davon aus, es ist etwas sehr dumm, dass ich fehle ...

Dank

Antwort

3

Es sieht so aus, als würden Sie Zeilenumbrüche übergeben, wenn Sie die Zeichenfolgenformatierung übergeben.

func main() { 

    x := 0 
    logger.InitLogger() 

    logger.Printf("%s", "TEST1") 
    logger.Printf("%s", "TEST2") 

    if x == 0 { 
     logger.Printf("%s", "TEST3") 
     logger.Printf("%s", "TEST4") 
     logger.Printf("%s", "TEST5") 
    } 
} 

Returns:

go run main.go 
INFO[2016-04-16 12:40:30] TEST1 
INFO[2016-04-16 12:40:30] TEST2 
INFO[2016-04-16 12:40:30] TEST3 
INFO[2016-04-16 12:40:30] TEST4 
INFO[2016-04-16 12:40:30] TEST5 
+0

I @Stantonnet tun. wie ich ursprünglich go "log" -Paket verwendet und alle meine Protokolle endete mit '\ n' zum Beispiel:' log.Printf ("Fehlgeschlagen tun etwas mit Fehler:% s \ n", err) 'nicht realisiert logrus nimmt Sorge für neue Linien von sich selbst. Vielen Dank –

2

Sind Sie sicher, dass Sie nicht versehentlich mit neuen Linien in einigen der Nachrichten, die Sie an Ihr Logger-Paket senden?