2016-07-05 1 views
3

Есть ли способ перевести язык для входа на несколько выходных данных на разных уровнях ?.Перейти в журнал на несколько выходных

Я хочу иметь программу, которая регистрируется в stdout на уровне Info и в файл на уровне отладки с отметкой времени одновременно.

Как и каждый раз код I:

log.Debug("Entering some func") 
res := func() 
log.Infof("Result was: %s", res) 

можно увидеть консольных отпечатки:

Result was: Successful 

и файл с:

2015-03-26T01:27:38-04:00 [DEBU]: Entering some func 
2015-03-26T01:27:38-04:00 [INFO]: Result was: Successful 

Я использую Логрус и GLog, но не может найти эту функцию. Есть ли другой пакет или что-то, что я могу кодировать?

ответ

4

Go-logging поддерживает различные логические бэкэнды, такие как файл, syslog и т. Д. Множественные серверы могут быть установлены с разными уровнями журнала на бэкэнд и регистратор. Пример: here.

Lumberjack также может быть использован для записи журналов в файлы. Вот example.

1

Если вы используете библиотеку go-logging, вы можете настроить два «бэкэнда», которые будут записываться в стандартный вывод и в файл.

Я бы скопировал код здесь, но пример в wiki делает именно то, что вы хотите.

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