jenkins日志着色

改js法

找一个js文件来修改

页面中加载了./webapps/jenkins/scripts/hudson-behavior.js
于是加入以下行:

function addLoadEvent(func){
    var oldonload = window.onload;

    if (typeof window.onload != 'function') {
        window.onload = func;
    } else {
        window.onload = function(e) {
            oldonload(e);
            func(e);
        }
    }
}
addLoadEvent(function(){
    var historyA = document.querySelectorAll('.build-status-link');
    var historyB = document.getElementsByTagName('A');

    for(var i=0;i<historyA.length;i++){
        historyA[i].onclick=function addRedForErrMessage(){
            var url = this.getAttribute("href");
            new Ajax.Request(url, {
                onSuccess:function(rspHtml){
                    var rspHtmlhtml = document.createElement('html');
                    rspHtmlhtml.innerHTML=rspHtml.responseText;
                    var log_text = rspHtmlhtml.getElementsByTagName("pre")[0].innerHTML;
                    var changed_log_text = changeToRed(log_text);
                    rspHtmlhtml.getElementsByTagName("pre")[0].innerHTML=changed_log_text;
                    document.getElementsByTagName("html")[0].innerHTML=rspHtmlhtml.innerHTML;
                }
            });
            return false;
        };
    }
    for(var i=0;i<historyB.length;i++){
        if (historyB[i].getAttribute("title")=="Console Output"){
            historyB[i].onclick=function addRedForErrMessage(){
                var url = this.getAttribute("href");
                new Ajax.Request(url, {
                    onSuccess:function(rspHtml){
                        var rspHtmlhtml = document.createElement('html');
                        rspHtmlhtml.innerHTML=rspHtml.responseText;
                        var log_text = rspHtmlhtml.getElementsByTagName("pre")[0].innerHTML;
                        var changed_log_text = changeToRed(log_text);
                        rspHtmlhtml.getElementsByTagName("pre")[0].innerHTML=changed_log_text;
                        document.getElementsByTagName("html")[0].innerHTML=rspHtmlhtml.innerHTML;
                    }
                });
                return false;
            };
        }
    }
});
function changeToRed(log_text){
    for(var i=0;i<failWorlds.length;i++){
        var failworld = failWorlds[i];
        var regworld = "/((?=202|echo).*"+failworld+".*)/gi";
        var log_text = log_text.replace(eval(regworld),'<span style="color:red;background:#dddddd;font-weight:900">'+'$1'+'</span>');
    }

    for(var i=0;i<successWorlds.length;i++){
        var successWorld = successWorlds[i];
        var regworld = "/"+successWorld+"/gi";
        var log_text = log_text.replace(eval(regworld),'<span style="color:white;background:green;font-weight:900">'+successWorld+'</span>');
    }
    return log_text;
}

保持js的状态

如果你的hudson-behavior.js会在jenkins重启时被覆盖,那么就重写文件或文件内容吧。

插件法

安装并开启AnsiColor插件

安装插件后重启jenkins

配置日志输出

在这里插入图片描述

修改日志输出

输出日志时使用echo着色

# echo -e "\e[选项1;选项2[;选项n]m 被着色文字 \e[0m"
# 0表示恢复默认值,\e也可用\033
echo -e "\e[41;5m 333\e[0m"

下图:红底闪烁
在这里插入图片描述
参考值:(可在shell中尝试)
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值