Переменная local logFilePath
в обработчике
on Job(logFilePath)
не является тем же объектом, что и переменная global с тем же именем, поэтому она действительноне определено.
Для ясности используйте другое имя
global logFilePath
Job("/Volumes/Work/test.log")
on Job(localPath)
set logFilePath to localPath
-- more code
vlog("text")
-- more code
end Job
on vlog(x)
do shell script "echo \"" & (do shell script "date +' %H:%M:%S '") & x & "\" >> " & quoted form of logFilePath
end vlog
Или только с локальными переменными
Job("/Volumes/Work/test.log")
on Job(localPath)
-- more code
vlog("text", localPath)
-- more code
end Job
on vlog(x, logFilePath)
do shell script "echo \"" & (do shell script "date +' %H:%M:%S '") & x & "\" >> " & quoted form of logFilePath
end vlog