Подавить ведение журнала в Azure Webjobs (выполняется: «xxx», так как новое сообщение очереди обнаружено в «yyy».)

Есть ли способ подавить записи журнала Executing: 'xxx' because New queue message detected on 'yyy'.? Я все еще хочу видеть свои журналы (записанные в консоль), однако мне не интересно видеть Executing (...) записей. Они не представляют для меня никакой ценности, и сейчас это большинство журналов.


person piotrwest    schedule 01.02.2016    source источник


Ответы (1)


Вы можете глобально управлять уровнем журнала консоли через JobHostConfiguration.Tracing.ConsoleLevel. Эти сообщения «Executing/Executed» отслеживаются на уровне TraceLevel.Info, который используется по умолчанию. Вы можете установить уровень журнала TraceLevel.Warning или TraceLevel.Error, и вы больше их не увидите (будете видеть только предупреждения/ошибки).

Однако этот параметр также будет применяться к любым журналам, которые вы записываете из своих рабочих функций с помощью параметра задания TextWriter (если это то, что вы подразумеваете под «вашими журналами»). Если это не то, что вам нужно, вы можете зарегистрировать свой собственный TraceWriter через коллекцию JobHostConfiguration.Tracing.Tracers. Если затем вы заменили параметры TextWriter параметрами TraceWriter и использовали одну из перегрузок трассировки, позволяющую указать «источник», ваш пользовательский TraceWriter мог бы пропустить ваши журналы. См. пользовательский образец TraceWriter здесь.

Для полноты есть также атрибут, который можно применить на уровне класса или метода для управления ведением журнала функций. Например, если вы примените [TraceLevel(TraceLevel.Error)] к определенному методу задания, вы только получите журналы в случае сбоя этой функции. Обратите внимание, что этот атрибут повлияет на ведение журнала панели мониторинга, а также на ведение журнала консоли.

person mathewc    schedule 02.02.2016
comment
Спасибо. Кажется, мне нужно зарегистрировать собственный TraceWriter. Есть ли шанс сделать ConsoleTraceWriter общедоступным? Я бы не стал его делать. Вроде бы все просто, но существующий ConsoleTraceWriter имеет несколько приятных фич (фильтрация по уровню, раскрашивание, исключение лишних строк в логе, регистрация дополнительных деталей из исключений). - person piotrwest; 02.02.2016