如何在使用' logrus'时删除日志之间的空格包

时间:2016-04-16 14:49:57

标签: go

所以我开始使用' logrus'。 我在我自己的记录器包中设置它,如下所示:

    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...)

(对于所有logrus日志函数,它都是这样的,没有看到    在这里粘贴所有这些,但你明白了......)

在我的项目中使用它:

import(
    log "logger"
)

除了日志之间印有行间距外,一切都很好看:

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

如何摆脱这些空间? 无法在文档/谷歌或此处找到任何解决方案 所以我认为我错过了一些非常愚蠢的东西......

由于

2 个答案:

答案 0 :(得分:3)

似乎在传递字符串格式时传递换行符。

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")
  }
}

返回:

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

答案 1 :(得分:2)

您确定在发送到记录器包的某些消息中不小心包含新行吗?