2016-08-08 3 views
0

Я использую стороннюю библиотеку в одном из моих инструментов, который использует стандартную регистрацию из golang. Библиотека: https://github.com/jason0x43/go-togglОтключить ведение журнала для сторонней библиотеки

Теперь я написал утилиту командной строки, которая использует инструменты toggl, и я не хочу, чтобы там записывался журнал. Я нашел Go: Disable a log.Logger?, но это касается отключения в пределах собственного кода. Как отключить ведение журнала в библиотеке?

ответ

3

Этот пакет определяет его собственный регистратор, не экспортирует его и не предоставляет никаких крючков для изменения вывода. Вы не сможете изменить назначение журнала без изменения кода пакета.

Другой вариант в этом случае заключается в том, что, поскольку регистратор записывает в os.Stderr, вы можете переопределить os.Stderr как свой собственный io.Writer, чтобы перехватить и отфильтровать вывод журнала там. Это может быть так же просто, как буферизация всего вывода stderr, и только распечатка его в случае ошибки.

Смежные вопросы