所以我开始使用' 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
如何摆脱这些空间? 无法在文档/谷歌或此处找到任何解决方案 所以我认为我错过了一些非常愚蠢的东西......
由于
答案 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)
您确定在发送到记录器包的某些消息中不小心包含新行吗?