¿Hay una manera de hacer algo como:mensaje console.log
console.log("hello world", '#FF0000')
en Chrome/Safari o Firefox?
¿Hay una manera de hacer algo como:mensaje console.log
console.log("hello world", '#FF0000')
en Chrome/Safari o Firefox?
Esto funciona:
function colorTrace(msg, color) {
console.log("%c" + msg, "color:" + color + ";font-weight:bold;");
}
colorTrace("Test Me", "red");
Esto funciona en Chrome a partir de v24. –
No funciona en MS Edge v14. :( –
@BennyNeugebauer nada hace ... –
hecho de este y su resultado útil:
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 + ";");
}
}
Uso:
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
Muy buen trabajo señor – Edward
Me encanta la función que ha creado, muy agradable. Sin embargo, el caso predeterminado en su declaración de cambio es innecesario, ya que en realidad no está haciendo nada, aparte de tomando un ciclo –
Buen punto. Uno podría verificar si se da un color y solo luego ejecutar el interruptor. –
Usted con el siguiente fragmento se puede utilizar el comando console.log ¡como deseabas!
(function() {
\t $consoleLog = console.log;
console.log = function ($message, $color) {
\t $consoleLog('%c' + $message, 'color:' + $color + ';font-weight:bold;');
}
})();
console.log('test', 'green');
O
esto dará un número de línea incorrecto en la salida - mostrará la línea donde el 'nativo' console.log' invocó – godblessstrawberry
Inspirado por la respuesta de Jaden. Hecho una pequeña función de registro.
function log(msg, color) {
var css = "",
paint = { // default colors
clr: "#212121",
bgc: "#b0bec5"
},
colors = {
error: {clr:"#ffebee", bgc:"#c62828"}, // red
success: {clr: "#e8f5e9", bgc: "#2e7d32"}, // green
warning: {clr: "#fff3e0", bgc: "#f4511e"}, // orange
info: {clr: "#ede7f6", bgc: "#651fff"} // purple
};
// overriting default colors if color given
if (colors.hasOwnProperty(color)){ paint.clr = colors[color].clr; paint.bgc = colors[color].bgc; }
css = "color:" + paint.clr + ";font-weight:bold; background-color: " + paint.bgc + "; padding: 3px 6px; border-radius: 2px;";
console.log("%c"+msg, css);
}
prueba
log("Default");
log("Error", "error");
log("Success", "success");
log("Warning", "warning");
log("Info", "info");
this dará el número de línea equivocado en la salida - se mostrará la línea donde se invoca el comando 'console.log' nativo real – godblessstrawberry
TODOS respuestas Actualmente dados causará importante problema de depuración - el número de línea reportado en la salida del registro será siempre corresponden a la línea donde la costumbre función de registro en última instancia invoca al nativo console.log
color ING se puede lograr mediante la adición de %c
en el comienzo del primer parámetro y reglas CSS simples como un segundo parámetro de console.log
:
console.log('%c' + $message, 'color:' + $color + ';background-color: #444; padding: 3px 7px; margin-left: -7px;');
y la envoltura de registro adecuado se puede encontrar bajo esta respuesta
¿Qué envoltorio aceptará el segundo argumento necesario para la coloración? Hay muchas respuestas y la mayoría depende directamente de bind, lo que no le permite vincular argumentos finales. –
La misma pregunta aquí http://stackoverflow.com/questions/7505623/colors-in-javascript-console –
No, esa no es la misma pregunta. Por favor, elimine su solicitud de cierre. En la pregunta que mencionaste, el chico quiere cambiar el color de TODOS los mensajes de registro. Me gustaría cambiarlo por mensaje. – Blacksad
Ah, lo siento. No estoy seguro de cómo eliminar mi solicitud de cierre. No veo nada para hacer eso. –