Как перенаправить stdout в файл программно на Go?
Заранее извиняюсь, если вопрос слишком простой. Имеется такая функция:
package main
import (
curl "github.com/andelf/go-curl"
)
func json_get(link string) {
easy := curl.EasyInit()
defer easy.Cleanup()
if easy != nil {
easy.Setopt(curl.OPT_URL, link)
easy.Perform()
}
}
Как перенаправить STDOUT или даже сам CURL в файл? Перенаправить надо программно, т е без ./main > myfile.out. ОС - Linux.
Ответы (1 шт):
Автор решения: Sheridan
→ Ссылка
Посмотрите список опций. Я, например, вижу OPT_STDERR, OPT_VERBOSE, OPT_FILE, OPT_NOPROGRESS - чтото из этого, думаю, должно помочь. Для прогресса там даже есть пример
Нужно использовать stdout/stderr/stdin as is, не переделывая. Переделкой вы сломаете ожидаемое поведение и вызовете негодование уже у специалистов. Правильный подход - обучить неопытных.
Если нужно писать логи, то пишите их в файл отдельно, не трогая стандартные потоки io.