Спасибо Бретону и SeanJA за их предложения по тестированию непосредственно в консоли и созданию файла примера. После этого я понял, что console.log фактически работает в изолированной среде. Это заставило меня понять, что это должно быть что-то особенное в моей среде разработки. Посмотрев вокруг, я обнаружил, что на ранних этапах был загружен некоторый JavaScript, предназначенный для определения объекта консоли для браузеров без поддержки Firebug.
if (!("console" in window) || !("firebug" in console))
{
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
"group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i)
window.console[names[i]] = function() {}
}
Это, очевидно, было написано до того, как Safari реализовал консольный объект для своего окна ошибки.
Я удалил это, и теперь все работает хорошо. Спасибо, ребята.