2013-11-28 5 views
0

문제를 시스템 로그를 추가하는 방법 : 나는 로그 (콘솔) 구축 젠킨스에 표시 할 수있는 시스템 로그를 얻기 위해 노력하고젠킨스 콘솔에

. Jenkins에서 실행중인 쉘보다 많은 소스에서 로그 메시지를 검색하도록 작업을 알리는 방법이 있어야합니다.

배경 :

내가 가진 작업은 일부 원격 클라이언트를 구성하고, 이러한 클라이언트는 젠킨스의 컴퓨터에 자신의 syslog 메시지를 전송하는 특정 명령로 작동합니다. Jenkins 시스템에서 syslog를 볼 때 수동으로 이러한 로그를 볼 수 있지만 Jenkins Job의 콘솔 출력에는 나타나지 않습니다.

내가 찾고 있어요 : 여러 클라이언트 등 각 클라이언트 로그는 빌드 로그에만 전송됩니다 (콘솔)의 여러 작업을 지원할 수있을만큼 강력 할 것이다 솔루션이 필요

이상적 관련 작업.

그러나 젠킨스 작업 빌드 로그 (콘솔)에 대한 소스를 추가하는 방법을 알려주는 해결책을 찾지 않습니다.

답변

0

실행중인 작업의 빌드 로그 (콘솔)에 쓸 수있는 간단한 방법을 발견했습니다.

작업 자체가 자동으로 stdout 및 stderr를 빌드 로그 (콘솔)로 리디렉션합니다. 그러나 외부 소스에서 액세스하려는 경우 실제 사용 된 파일 설명자가 필요합니다.

리눅스에서는 작업을 실행하는 프로세스의 프로세스 ID를 알게되면 해당 프로세스의 stdout (또는 stderr)에 간단히 기록 할 수 있습니다.

예를 들어, PID가 555라고 :

마찬가지로 /proc/555/fd/2
echo "this message will appear in the build log (console)" > /proc/555/fd/1 

가 열려진 사용할 수 있습니다 (하지만이 경우에 차이가 있다고 생각하지 않습니다)