До этого мне было достаточно вывода результатов работы скриптов в консоль, но теперь понадобился механизм записи событий в журнал. Задача решается созданием вспомогательного скрипта с функцией логгирования.

Сам скрипт:

-- это типа объявление функции
-- logName: имя файла, который будет журналом
-- msg2log: строка, которую нужно занести в журнал
on write2log(logName, msg2log)
    set msg to ("[" & (time string of (current date)) & "]") & " " & msg2log
    -- просто запись вывода команды echo в файл
    do shell script "echo " & msg & " >> " & logName & ""
end write2log

При вызове этого скрипта в указанный файл будет записываться строка, начинающаяся с текущего времени. Файл не перезатирается, а дополняется новыми записями при каждом вызове функции. Если указанного файла не существует, он будет создан.

Скрипт нужно сохранить в формате Script (.scpt) в какую-нибудь общедоступную папку, например так: ~/scripts/write2log.scpt.

Теперь его можно использовать в других скриптах. Пример вызова:

-- подключаем наш созданный скрипт
set logScript to load script "~/scripts/write2log.scpt"
-- и вызываем функцию
write2log("/tmp/some.log", "ololo") of logScript