BitPerfect user Stefan Leckel has come up with a useful solution to the Yosemite Console Log problem. In case you are unaware, under Yosemite, when you use BitPerfect, iTunes fills the Console Log with a stream of entries - several per second - which rapidly fills the Console Log to capacity. At that point, the oldest messages are deleted. In effect, this renders the Console Log pretty useless as a diagnostic tool.
Stefan's ingenious solution is a simple script file which, in effect, sets up the Console App so that it ignores these specific messages. However, because the script works at the system level, using it requires a
level of comfort with working on OS X using tools that are capable of wreaking havoc, although
hopefully the instructions below are easy enough for most people to
use with a degree of comfort. As with anything that involves tinkering at the system level, YOU
USE THIS TOOL ENTIRELY AT YOUR OWN RISK, AND WITH NO EXPRESS OR IMPLIED WARRANTY. If in doubt, channel Nancy Reagan, and "Just Say No":)
First, you need to download a special script file which you can download by clicking here.
This will download a file called ConsoleFix.sh. It doesn't matter where you place this file. Your downloads folder would do fine. If you are concerned
about the authenticity of this file, or what it might be doing to your Mac, the contents are reproduced below for you to inspect and compare.
To
use the script file, you need to first open a Terminal window. Inside
the terminal window type the following: "sudo bash " - don't type the
quote marks, and be sure to leave a space after the bash - and DON'T
press the ENTER key. Next, drag and drop the ConsoleFix.sh file that
you just downloaded into the Terminal window. This action will complete
the "sudo bash " line with the full path of the ConsoleFix.sh file.
Now you can press ENTER. You will be prompted to enter your system password. Enter it (nothing will show in the Terminal as you type), and hit ENTER.
That's
it. The Console Log should now work fine. If you want to reset it
back to how it was, just re-run the same sequence. The same command is
designed to toggle the modification on and off.
Thank you Stefan!
Below, for reference, I have reproduced the content of ConsoleFix.sh in full (lines shown in green are wrapped from the end of the previous line):
#!/bin/bash
#
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# use at your own risk, no warranty
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#
# checks if asl.conf is already modified
#
set -x
cat /etc/asl.conf|grep -F "? [= Facility com.apple.coreservices.appleevents] [= Sender BitPerfect] [S= Message com.apple.root.default-qos.overcommit] ignore" > /dev/null
if [ $? -eq 0 ]
then
echo "removing bitperfect modification from /etc/asl.conf file"
cat /etc/asl.conf|grep -v -F "? [= Facility com.apple.coreservices.appleevents] [= Sender BitPerfect] [S= Message com.apple.root.default-qos.overcommit] ignore" > /etc/asl.bitperfect
else
echo "adding bitperfect modifications to /etc/asl.conf file"
echo "? [= Facility com.apple.coreservices.appleevents] [= Sender BitPerfect] [S= Message com.apple.root.default-qos.overcommit] ignore" > /etc/asl.bitperfect
cat /etc/asl.conf >> /etc/asl.bitperfect
fi
echo "backup /etc/asl.conf to /etc/asl.conf.bitperfect"
cp /etc/asl.conf /etc/asl.conf.bitperfect
echo "activating new config"
mv /etc/asl.bitperfect /etc/asl.conf
echo "restarting syslogd daemon"
killall syslogd
echo "done."
exit