Насколько я видел в документации, он не предназначен специально для одной цели. Я думаю, вы можете использовать свою собственную логику для отслеживания событий. Метод ShouldTrace()
для SourceFilter
принимает соответствующий параметр id
, поэтому его также можно использовать для определения того, какие события или типы событий куда направляются.
Лично я, когда использую TraceSource
(которого, по общему признанию, немного, поскольку открыл его совсем недавно), я использую его для отслеживания типов или категорий событий. В одном приложении у меня уже было перечисление для типов событий, которые я использовал с другим методом ведения журнала, со значениями Debug, Info, Warn, Error, Fatal, поэтому я привел его к int
и использовал как id
, что позже помогло с фильтрацией. поэтому я мог отфильтровать все, что ниже интересующего меня уровня, чтобы не загромождать трассировку.
Другая возможность заключается в том, что вы можете использовать разные значения для разных частей приложения, поэтому доступ к данным = 1, учетные записи пользователей = 2, логика продукта = 3, уведомления = 4, пользовательский интерфейс = 5 и т. д. Опять же, вы можете использовать это чтобы отфильтровать трассировку только по типу того, на что вы смотрите.
В качестве альтернативы вы можете (как вы предложили) использовать разные значения id
для обозначения разных типов событий, чтобы вы могли использовать их как коды ошибок, чтобы (например) каждый раз, когда вы видели id
из 26, вы знали, что соединение с базой данных может не быть установленным или что-то в этом роде.
Не имеет особого значения, для чего вы используете параметр id
, если:
- Это пригодится вам при сборке и отладке программы
- Ясно и понятно программистам, читающим ваш код
- Он используется последовательно на протяжении всей программы.
Одна из возможностей состоит в том, что у вас может быть централизованный класс, который управляет событием id
s и предоставляет значения на основе какого-либо ввода, чтобы убедиться, что все приложение использует одно и то же id
для одной и той же вещи.
person
anaximander
schedule
13.08.2013