Notifiers don't have access to the workspace. The body is evaluated by the Commander server (and $ properties are expanded) before it's sent to the target user(s). You can run a step that does have access to the workspace and compose your email beforehand, storing the contents in a property which is referenced by your notifier (or you can use the sendEmail API). This step can check for log file existence since it's running in the job's workspace.
If you're looking for log files, I'd suggest setting the "log file name" for the steps if possible so you know exactly what to look for when composing the email. Be careful though -- if you're using parallelized subprocedures, you'll have to embed something in the log file names to guarantee they are unique within the job. For example, if you passed a parameter called platform to each subprocedure call, embed $[platform] in the log file name.