Вывод в терминал Goland сносит строчки
Собственно есть код.
package main
import (
"flag"
"github.com/gocolly/colly"
"log"
"os"
)
var (
url string
infoLog, errLog *log.Logger
)
func initLogger() {
infoLog = log.New(os.Stdout, "INFO\t", log.Ldate|log.Ltime)
errLog = log.New(os.Stderr, "ERROR\t", log.Ldate|log.Ltime|log.Llongfile)
}
func initFlag() {
flag.StringVar(&url, "url", "", "URL to parse")
flag.Parse()
if url == "" {
errLog.Fatal("URL is empty")
}
}
func main() {
initLogger()
initFlag()
c := colly.NewCollector()
c.OnRequest(func(r *colly.Request) {
infoLog.Printf("Visiting %v", r.URL)
})
c.OnError(func(_ *colly.Response, err error) {
errLog.Printf("Something went wrong %v", err)
})
err := c.Request("GET", url, nil, nil, nil)
if err != nil {
return
}
}
При компиляции и запуске в Goland почему-то строки вот так сносятся

Когда же в терминале все выводится нормально

Собственно, проблема во мне или это как-то Goland режет вывод? Как починить? Покопался в настройках конфигурации - ничего не нашел.
Ответы (1 шт):
Автор решения: Алексей
→ Ссылка
Это скорее проблема goland. При запуске программы, goland открывает cmd и в ней запускает программу, а cmd открывается при дефолтном размере. Программа быстро срабатывает и cmd закрывается, не успев подстроиться под размеры вкладки в goland. Если добавить time.Sleep() в программу то окно cmd успеет подстроится и вывод будет нормальный.
fmt.Println(MultString("a", 300))
fmt.Println(MultString("a", 300))
time.Sleep(time.Second)

