How to disable/ set logging level /preferences PER Mac OS X application?

Solution 1:

You may want to look at asl.conf(5) which allows you to ignore/process log messages on quite a fine-grained level.

Something like:

? [= Sender ObnoxiousLogger] ignore

should do the trick. If you still want to see the more serious messages from the obnoxious sender, something along the lines of:

? [= Sender ObnoxiousLogger] [> Level error] ignore

might be more appropriate.

Note: after editing /etc/asl.conf, don't forget to kill -HUP your syslogd.

Solution 2:

Just create a File » New Database Search…, looking for Facility contains "console" and Sender does not contain "ObnoxiousLogger", and ignore the default Console Messages database search?

enter image description here


You can use the following command to set individual log filtering levels for specific processes:

syslog -c processname -d

This will set the log level of currently running instances of processname to all messages of debug level or higher. the possible levels are each character of pacewnid: (Panic), Alert, Critical, Error, Warning, Notice, Info, and Debug.

So, to only enable logging of warning messages and higher for Finder, use:

syslog -c Finder -w

You will need to repeat this whenever you restart the process in question.