The Problem:
I am trying to get the syslog to appear in the Jenkins build log (console). I am sure there must be a way to inform a job on Jenkins to retrieve log messages from more sources than just the execute shell.
Background:
The Job I have configures some remote clients and then operates on them with certain commands, these clients are sending their syslog messages to the Jenkins machine. I can see these logs manually when I view the syslog on the Jenkins machine, but they do not appear in the console output of the Jenkins Job.
What I Am Looking For:
Ideally I need a solution that will be robust enough to support multiple jobs with multiple clients such that each clients logs will be sent only to the build log (console) of the relevant jobs.
But I will settle for any solution that can give an indication of how to include more sources for the Jenkins Job build log (console).
I Have found a simple enough method to write into the build log (console) of any running job.
The job itself automatically redirects stdout and stderr to the build log (console) but If you want it to be accessed from an external source, the actual file descriptor used is needed.
On linux, once you know the process ID of the process that is running the job, you can simply go write to that process's stdout (or stderr).
For example, say the PID is 555:
echo "this message will appear in the build log (console)" > /proc/555/fd/1
Similarly /proc/555/fd/2
can be used for the stderr (but I don't think there is a difference in this case)