I’m looking to have Concourse email me the full console log (the log that shows in the Concourse UI) as a text file when a job fails. Is that possible?
Basically console log comes from three sources:
- resource get
- resource put
For resource get/put, stderr go to console log, and stdout go to console as output of get/put. For task, stdout just go to console.
To email something, you will need to use some resource type of email. From a resource type, only way to get artifacts from previous resource and task is via files. For resource get/put, I don’t see a way to pass its stderr to a following resource. For task, you may redirect output to both stdout and a file vai
tee, so that a following
I guess this just partially solve your problem. I’m also wondering a better solution.
I think that @evanchaoli gave a good overview of the situation (use
tee and email).
Another little known feature of Concourse is that it can stream build logs to syslog (and so for example could be a remote syslog, or syslog could be watched with tools like https://www.elastic.co/guide/en/logstash/current/plugins-filters-grok.html).
See https://github.com/concourse/concourse/issues/2104 for how to configure the ATC to stream to syslog.