Redirect Standard Output/error to log file
For a start, it wouldn't be:
./ShellFile.sh 2>&1 | pathToLogFile.log
since that would try and pipe your output through the executable file called pathToLogFile.log rather than sending the output there.
You need:
./ShellFile.sh >& pathToLogFile.log
which redirects both standard output and error to the file.