2013-11-28 65 views
0

問題:如何系統日誌添加到詹金斯控制檯

我試圖讓出現在詹金斯構建日誌(控制檯)的系統日誌。我確信必須有一種方法來通知Jenkins的工作,以便從更多來源檢索日誌消息,而不僅僅是執行shell。

背景:

這份工作,我有一些配置遠程客戶端,然後將它們與某些命令操作,這些客戶端發送的系統日誌消息詹金斯機。當我在Jenkins機器上查看系統日誌時,我可以手動查看這些日誌,但它們不出現在Jenkins Job的控制檯輸出中。

我在尋找:

理想我需要一個解決方案,這將是強大到足以支持與多個客戶端,使得每個客戶日誌都會被髮送到構建日誌(控制檯)多個作業相關的工作。

但我會解決任何解決方案,可以指示如何包含Jenkins作業生成日誌(控制檯)更多的來源。

回答

0

我發現了一個足夠簡單的方法來寫入任何正在運行的作業的構建日誌(控制檯)。

作業本身自動將stdout和stderr重定向到構建日誌(控制檯),但是如果您希望從外部源訪問它,則需要使用實際的文件描述符。

在linux上,一旦您知道正在運行作業的進程的進程ID,您可以簡單地寫入該進程的stdout(或stderr)。

例如,假設PID爲555:

echo "this message will appear in the build log (console)" > /proc/555/fd/1 

同樣/proc/555/fd/2可用於標準錯誤(但我不認爲在這種情況下,差)