правило игнорирования Apple Logger (ASL) в /etc/asl.conf для конкретного объекта

У меня есть проект C / C ++ / Objective-C, который отправляет сообщения журнала asl.

Конфигурация по умолчанию в asl.conf направляет все сообщения журнала с уровнем выше уведомления в системный журнал (см. Правило ниже), и я хотел бы отменить это правило только для моего конкретного объекта.

Это означает, что все сообщения журнала под моим объектом будут перенаправляться только в мой файл журнала, а не в system.log.

вот конфигурация, где мое средство определено для com.bla.bla
asl.conf
? [<= Уровень уведомления] файл system.log

my_asl.conf
? [<= Level notice] [=Facility com.bla.bla] skip / ignore

Я пытался пропустить и игнорировать, но я не сделал никаких изменений. единственное, что работает, — это удаление правила из asl.conf, но я не хочу изменять поведение других процессов / средств и изменять некоторые правила по умолчанию.

Есть ли какое-либо правило, которое я могу добавить, чтобы забанить свои сообщения только из system.log?

Спасибо

0

Решение

После перечитывания man-страницы asl.conf снова и снова, я обнаружил, что могу использовать команду ‘Claim’, чтобы игнорировать файл базовой конфигурации asl.conf для моего конкретного правила

Заявка Сообщения, соответствующие запросу, связанному с действием «Заявка», не обрабатываются основным файлом конфигурации ASL /etc/asl.conf. Хотя заявленные сообщения не обрабатываются и не обрабатываются в /etc/asl.conf, они не являются полностью частными. Другие модули могут также требовать сообщения, и в некоторых случаях два или более модулей могут иметь действия запроса, которые соответствуют тем же сообщениям. Это действие блокирует только обработку в /etc/asl.conf.
За действием «претензия» может следовать ключевое слово «только». В этом случае только те сообщения, которые соответствуют запросу «только для заявки», будут обрабатываться последующими
правила в модуле.

Я следовал описанию тега «претензия» и добавил следующую конфигурацию в мой файл конфигурации:

? [= com.bla.bla] file /var/log/my-log
? [= com.bla.bla] claim
2

Другие решения

Других решений пока нет …