0

asl ログ メッセージを送信する C/C++/Objective-C プロジェクトがあります。

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 からのみメッセージを禁止するために追加できるルールはありますか?

ありがとう

4

1 に答える 1

0

asl.conf の man ページを何度も読み直した結果、「claim」コマンドを使用して、特定のルールの asl.conf ベース構成ファイルを無視できることがわかりました。

claim 「claim」アクションに関連付けられたクエリに一致するメッセージは、メインの ASL 構成ファイル /etc/asl.conf によって処理されません。要求されたメッセージは /etc/asl.conf によって処理されませんが、完全に非公開ではありません。他のモジュールもメッセージを要求する場合があり、場合によっては、2 つ以上のモジュールが同じメッセージに一致する要求アクションを持つ場合があります。このアクションは、/etc/asl.conf による処理のみをブロックします。「主張」アクションの後にキーワード「のみ」を続けることができます。この場合、「要求のみ」クエリに一致するメッセージのみが、モジュール内の後続のルールによって処理されます。

タグ「クレーム」の説明に従い、次の構成を構成ファイルに追加しました。

? [= com.bla.bla] file /var/log/my-log
? [= com.bla.bla] claim  
于 2016-01-27T08:08:24.077 に答える