LINUX.ORG.RU

boost::log channel vs attribute

 ,


0

3

Ни как не могу понять в чем принципиальная разница между channel и attibute в boost log (1.54+). Вроде как и тот и другой просто ставит метку к записи, по которой потом можно фильтровать, причем фильтрация выглядит абсолютно одинакого.

По тестам производительности, source + channel на наносекунды обгоняет source + attribute, так что тут не принципиально logger(channel), разница в 50 миллисекунд на 500000 записей.


Я думаю, разница в том, что channel'ы можно разбросать по файлам (или другим местам назначения), а атрибуты просто добавляются к любой записи.

...the relation of the logged information to some specific domain of application functionality (e.g. network or file system related messages) or some arbitrary tag that can be used later to route these records to a specific sink...

http://www.boost.org/doc/libs/1_54_0/libs/log/doc/html/log/detailed/sources.h...

jeuta ★★★★
()
Ответ на: комментарий от jeuta

Фильтрация в sink'ax делается по аттрибутам. Стандартным ходом является логировать в разыне файлы по Severity, который есть аттрибут.

Я немного покапался, я в итогде channel это typedef для attributes::mutable_constant. Я так думаю сильной разница нету, это просто часть юзабилити, типа как severity_logger который уже содержит аттрибут для Severity, также есть channel_logger, severity_channel_logger.

Cupper
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.