Программно отключить фреймворк для ведения логов

Как я могу программно отключить журналы, подобные приведенному ниже. Мне это нужно, чтобы иметь возможность запускать мои наборы тестов, не заполняя журналы тестов предупреждениями и информационными журналами.

revel.INFO.printf("")

Спасибо за вашу помощь.


person Pablo Jomer    schedule 01.05.2015    source источник


Ответы (1)


Из пакета revel у вас есть:

var (
    // Loggers
    TRACE = log.New(ioutil.Discard, "TRACE ", log.Ldate|log.Ltime|log.Lshortfile)
    INFO  = log.New(ioutil.Discard, "INFO  ", log.Ldate|log.Ltime|log.Lshortfile)
    WARN  = log.New(ioutil.Discard, "WARN  ", log.Ldate|log.Ltime|log.Lshortfile)
    ERROR = log.New(&error_log, "ERROR ", log.Ldate|log.Ltime|log.Lshortfile)
)

Из пакета log у вас есть:

func Новый

func New(out io.Writer, prefix string, flag int) *Logger

New создает новый регистратор. Переменная out устанавливает место назначения, в которое будут записываться данные журнала. Префикс появляется в начале каждой сгенерированной строки журнала. Аргумент flag определяет свойства ведения журнала.

Из пакета ioutil у вас есть:

var Discard io.Writer = devNull(0)

Discard - это io.Writer, на котором все вызовы Write завершаются успешно, ничего не делая.

Поэтому, чтобы отключить revel.INFO журнал, попробуйте:

revel.INFO = log.New(ioutil.Discard, "INFO  ", log.Ldate|log.Ltime|log.Lshortfile)
person peterSO    schedule 01.05.2015
comment
Композиция на победу! :) - person twotwotwo; 02.05.2015
comment
Отличный ответ! Спасибо. Я обязательно буду использовать все это, хотя сейчас я отключил журнал, просто установив для всех операций записи значение null. - person Pablo Jomer; 04.05.2015
comment
Работает как шарм! Спасибо еще раз. - person Pablo Jomer; 04.05.2015