更改console.log消息颜色

Bla*_*sad 31 google-chrome

有没有办法做这样的事情:

console.log("hello world", '#FF0000')
Run Code Online (Sandbox Code Playgroud)

在Chrome/Safari或Firefox中?

Sha*_*ane 47

这有效:

function colorTrace(msg, color) {
    console.log("%c" + msg, "color:" + color + ";font-weight:bold;");
}
colorTrace("Test Me", "red");
Run Code Online (Sandbox Code Playgroud)


Jad*_*nik 31

做了这个,它有用:

function log(msg, color) {
    color = color || "black";
    bgc = "White";
    switch (color) {
        case "success":  color = "Green";      bgc = "LimeGreen";       break;
        case "info":     color = "DodgerBlue"; bgc = "Turquoise";       break;
        case "error":    color = "Red";        bgc = "Black";           break;
        case "start":    color = "OliveDrab";  bgc = "PaleGreen";       break;
        case "warning":  color = "Tomato";     bgc = "Black";           break;
        case "end":      color = "Orchid";     bgc = "MediumVioletRed"; break;
        default: color = color;
    }

    if (typeof msg == "object") {
        console.log(msg);
    } else if (typeof color == "object") {
        console.log("%c" + msg, "color: PowderBlue;font-weight:bold; background-color: RoyalBlue;");
        console.log(color);
    } else {
        console.log("%c" + msg, "color:" + color + ";font-weight:bold; background-color: " + bgc + ";");
    }
}
Run Code Online (Sandbox Code Playgroud)

使用:

log("hey"); // Will be black
log("Hows life?", "green"); // Will be green
log("I did it", "success"); // Styled so as to show how great of a success it was!
log("FAIL!!", "error"); // Red on black!
var someObject = {prop1: "a", prop2: "b", prop3: "c"};
log(someObject); // prints out object
log("someObject", someObject); // prints out "someObect" in blue followed by the someObject
Run Code Online (Sandbox Code Playgroud)


god*_*rry 5

所有当前给出的答案都将导致主要的调试问题 - 日志输出中报告的行号将始终对应于自定义日志函数最终调用本机的行console.log

通过%c在第一个参数的开头添加简单的css规则作为第二个参数,可以实现着色console.log:

console.log('%c' + $message, 'color:' + $color + ';background-color: #444; padding: 3px 7px; margin-left: -7px;');
Run Code Online (Sandbox Code Playgroud)

和你在这个答案下可以找到的正确的日志包装器

console.log的正确包装器,具有正确的行号?