Macのsyslogd「Cosole」ログは、ひどく書かれたアプリ(この場合は PathFinder.app )が一日中syslogdに絶え間なく吐き出されると、使用できなくなることがわかりました。沿って..
aliasを実行可能バンドルにinsideアプリの「パッケージ」を作成し、そのエイリアスを端末からのみ起動します。プロセスは.../Applications/ObnoxiousLogger.appを参照し、右クリックして[パッケージの内容を表示]をクリックし、次に参照します...
/Applications/ObnoxiousLogger.app/Contents/MacOS/ObnoxiousLogger
次に、GUIを使用してエイリアスを作成し、常にそのエイリアスからアプリを起動することを忘れないでください。これもターミナルからのみです。
Finderを介してエイリアスを作成する必要があるため、これは面倒です(シンボリックリンクは機能せず、ターミナルを介してエイリアスを作成する方法はありません)。そして、それが他の方法で起動された場合、あなたは正方形に戻ります、logorrhea..このメソッドDID仕事、しかし、非常に短い時間です。
launchctlコマンドまたはplist変数を使用してこれを設定できるように思われますが、これはlaunchdによって開かれるアプリではなく、launchdのドキュメントはいたるところにありますが、私はこれは可能性だと思います。
ログを/ dev/nullに送信することについて何かを見ましたが、これが何らかのsyslogdパイプ、コマンド、または/etc/syslogd.conf設定、または何であるかは明確ではありませんでした...
アプリケーションごとに選択的にログを無音にする、またはさらに良い方法を増やす、またはMac OS Xで、プロセス/コマンドごとなどのロギングの冗長性を減らします。
ログメッセージを非常にきめ細かいレベルで無視/処理できるasl.conf(5)
を確認することをお勧めします。
何かのようなもの:
? [= Sender ObnoxiousLogger] ignore
トリックを行う必要があります。それでも不快な送信者からのより深刻なメッセージを見たい場合は、次のようなものがあります。
? [= Sender ObnoxiousLogger] [> Level error] ignore
より適切かもしれません。
注:編集後/etc/asl.conf
、忘れずにkill -HUP
あなたのsyslogd。
ファイル"新しいデータベース検索…を作成し、施設には "console
"が含まれますおよび送信者には "ObnoxiousLogger
"、デフォルトを無視しますコンソールメッセージデータベース検索?
次のコマンドを使用して、特定のプロセスの個々のログフィルタリングレベルを設定できます。
syslog -c processname -d
これにより、現在実行中processname
のインスタンスのログレベルがデバッグレベル以上のすべてのメッセージに設定されます。可能なレベルは、pacewnid
の各文字です:(Panic)、Alert、Critical、Error、Warning、Notice、Info、およびDebug。
したがって、Finderで警告メッセージ以上のログのみを有効にするには、次を使用します。
syslog -c Finder -w
問題のプロセスを再開するたびに、これを繰り返す必要があります。
私はMacOSMojave(10.14.3)を使用していますが、この投稿は役に立ちました。1つの場所ですべてを一緒に見たことがないので、何がうまくいったのかを明確にしたいと思います。私の場合、system.logファイルを5秒の速度で常にスパムしているMicrosoftOneNoteメッセージを除外したいと思いました。サンプルメッセージ:
Feb 3 22:52:49 MyMacMini-2 Microsoft OneNote[393]: [ACT]:[TASKSCHEDULER]:[Info]:opQueue=0x6000012d7760 after call to waitUntilAllOperationsAreFinished
そこで、次のルールで/etc/asl.confを編集しました。
# Disable Microsoft OneNote logging as is filling up system.log!
? [= Sender Microsoft OneNote] ignore
次の行の前にこれを追加する必要があります。
# Rules for /var/log/system.log
そうでなければ、それは機能しません。次に、このコマンドでsyslogdを再起動するだけで、メッセージはsystem.logから削除されます。
Sudo killall -HUP syslogd
Torstenによって提案された解決策は機能していないようです。これらの構成をグローバルasl.conf
に追加しても、ルールの処理方法に期待される効果がないようです。
この問題の解決策は、メインのasl.confとの激しい戦いに出かけた後、フィルターごとに個別のasl/*
構成ファイルを使用することであることがわかりました。これらのファイルは/etc/asl/
に保存する必要があります
例えば「com.example.Sender」を無視し、system.logからのログスパムをフィルタリングするには、次の内容のファイル/etc/asl/com.example.Sender
を作成できます。
? [= Sender com.example.Sender] claim only
* ignore
一致のclaim only
(例では「送信者」)により、マスターasl.conf
のルールが無視されます。つまり、system.log
になりません。
もちろん、syslogd
を再起動することを忘れないでください。
より詳細な answer をAskDifferentに投稿しました。
/etc/asl.conf
に次のようなルールを入れます
? [= Sender foobar] [<= Level error] notify com.Apple.foobar
op key value op key value
-----query 1----- -----query 2---- ---------action--------
system.log
とConsole.app
のの両方のメッセージを無視するには、メッセージを無視するルールを追加する必要がありますbeforeasl.conf
の次のコメント。
# Flat file configurations formerly in syslog.conf
修飾子S
を使用した例。これは、SIMBL Agent
からのその部分文字列に一致するメッセージを無視します。
? [= Sender SIMBL Agent] [S= Message warning: failed to get scripting definition from] ignore
op -key-- ---value--- mod --key-- --------------------value-----------------------
--------query 1------- -----------------------query 2------------------------------- action
ルールを追加した後、Sudo killall HUP syslogd
でデーモンを再起動します。
OS X10.8.5で正常にテストされました。