Answering my own question in case it may help someone. I put this in my "failure" post action section of my Jenkinsfile to extract the last 100 lines of the build log. I also filtered out the post actions output and the leading rubbish on each line of the actual build log.
jobName = "${env.JOB_NAME}"
tokens = jobName.split('/')
jobDir = tokens[0]
logFile = "${env.JENKINS_HOME}/jobs/${jobDir}/branches/${env.JOB_BASE_NAME}/builds/${env.BUILD_NUMBER}/log"
command = $/tail -100 ${logFile} | sed '/Post Actions/q' | sed '/\[Pipeline\]/d' | sed -e 's/^.*\[0m//g'/$
logSnippet = sh(script: command, returnStdout: true)