【问题标题】:How to add syslog to Jenkins console如何将 syslog 添加到 Jenkins 控制台
【发布时间】:2013-11-29 00:22:02
【问题描述】:

问题:

我正在尝试让系统日志出现在 Jenkins 构建日志(控制台)中。我确信必须有一种方法可以通知 Jenkins 上的作业以从更多来源检索日志消息,而不仅仅是执行 shell。

背景:

我的作业配置了一些远程客户端,然后使用某些命令对它们进行操作,这些客户端将它们的 syslog 消息发送到 Jenkins 机器。当我在 Jenkins 机器上查看 syslog 时,我可以手动查看这些日志,但它们不会出现在 Jenkins Job 的控制台输出中。

我在寻找什么:

理想情况下,我需要一个足够强大的解决方案来支持具有多个客户端的多个作业,这样每个客户端的日志将仅发送到相关作业的构建日志(控制台)。

但我会接受任何可以指示如何为 Jenkins 作业构建日志(控制台)包含更多源的解决方案。

【问题讨论】:

    标签: logging jenkins hudson syslog rsyslog


    【解决方案1】:

    我找到了一个足够简单的方法来写入任何正在运行的作业的构建日志(控制台)。

    作业本身会自动将 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可以用于stderr(但我认为在这种情况下没有区别)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多