Colorear registros en la consola de eclipse

105

¿Hay alguna forma de colorear partes de los registros en la consola de eclipse? Sé que podría enviar a secuencias de error y estándar y colorearlas de manera diferente, pero estoy buscando algo en las líneas de los códigos de escape ANSI (¿o cualquier otro, HTML?) Donde podría incrustar los colores en la cadena para que se coloree en el registros.

Seguro que ayudaría a que los bits importantes se destaquen sin recurrir a un diseño extraño, en lugar de mantener el diseño en las configuraciones de log4j

aquí hay un ejemplo de lo que estoy buscando:

[INFO] La cuadrícula está completa ....... falso

donde las partes en negrita estarían en azul, esta coloración puede ser controlada por la aplicación hasta cierto punto. así (las etiquetas son conceptuales y arbitrarias, pero entiendes la idea):

log.info (String.format ("La cuadrícula está completa ....... <blue>% s </blue>", isComplete));


En una nota más general, es la capacidad de incrustar metainformación en los registros para ayudar a la presentación de estos registros. Al igual que etiquetamos el contenido de las páginas web para ayudar a la presentación de la información mediante CSS.

Newtopian
fuente
puede usar MulticolorLayout desde jcabi-log , como se explica aquí: stackoverflow.com/questions/7848325
yegor256
¡Interesante! ANSI-Coloring, debería echarle un vistazo la próxima vez que encienda mi Eclipse. Gracias. En cuanto a JCabi, me gusta contextualizar mis registradores y rara vez eso encaja con el nombre de la clase, por lo que dudo que una envoltura estática funcione. A menudo necesito establecer dinámicamente el nombre del registrador en la instancia, ya que me da un uso mucho más eficiente de la información de registro.
Newtopian

Respuestas:

76

Pruébelo con este complemento de Eclipse: Consola Grep

[Actualización] :
como lo señalaron los comentaristas: al instalar Grep Console en la última versión actual de Eclipse, debe desmarcar 'Agrupar elementos por categoría' en el cuadro de diálogo Instalar para ver los elementos disponibles.
Como lo señaló @Line, el complemento ahora se puede instalar fácilmente a través de Eclipse Marketplace nuevamente sin cambiar ninguna opción.

[Actualización 2] :
Como lo señaló @azdev , para resaltar adecuadamente:

Ingresar solo cadenas literales no funciona. Para que una línea sea coloreada, debe encerrar la cadena en .* cada lado, así: .*ERROR.*

Benjamin Seiller
fuente
3
El complemento no parece funcionar con el último Eclipse (Helios).
Sorin
1
corrección acerca de que el complemento no se estaba desarrollando activamente, le hice algunas preguntas al creador y obtuve respuestas en cuestión de horas. En cuanto a los patrones, el complemento toma expresiones regulares, por lo que se esperan algunos ajustes y modificaciones al configurarlo. Recomendaría instalar un complemento de expresión regular para intentar copiar extractos pegados de la consola. Una vez configurado, funciona como un encanto
Newtopian
2
En caso de que alguien esté buscando la documentación para la Consola Grep: marian.schedenig.name/wp-content/static/grepconsole_userguide
Danny Bullis
1
Además, en caso de que alguien necesite ayuda con los patrones de expresiones regulares (este enlace de ayuda también se incluye en el cuadro de diálogo Grep Console en eclipse): docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern. html
Danny Bullis
1
Considere eliminar primero [actualización]; ahora se puede instalar fácilmente a través de Marketplace.
Línea
18

En realidad, el complemento de la consola ANSI agrega compatibilidad con el código de escape ANSI a la consola Eclipse. Sin embargo, en la actualidad tiene una limitación, por la cual los códigos de escape que abarcan varias líneas se filtran incorrectamente a otras líneas al desplazarse, consulte el número 3 .

De lo contrario, algún complemento de vista de terminal como se explica en esta otra pregunta podría ser una opción para algunos.

fmjrey
fuente
Usé la página web mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console . Perfeclty simple soporte ansi en consola!
tutejszy
9

Como ya lo señaló @Benjamin, Grep Console es una excelente manera de colorear la salida en la consola.

Hice un video corto para demostrar cómo funcionaba y escuché del complemento Creator of the Grep Console. Mencionó que se ha lanzado la consola Grep 3.

Reparto de pantalla : http://www.youtube.com/watch?v=fXjgGZAxToc

Actualizar sitios

Grep Console 2
http://eclipse.musgit.com
(requiere Eclipse 3.4 (Ganymede) o superior y Java 5.0 o superior)

Grep Console 3
http://eclipse.schedenig.name
(requiere Eclipse 3.7 (Indigo) o superior y Java 6.0 o superior)

Ashutosh Jindal
fuente
6

¿Qué hay de usar Logback y su convertidor de propiedades y registrar todo en log4j, que puede permitirle ver los diferentes niveles en diferentes colores?

¡Buena suerte!

EDITAR : el complemento eclipse

David Santamaría
fuente
4

Usamos el complemento Ganymede Eclipse donde trabajo y funciona bien.

http://sourceforge.net/projects/ganymede/

"Un complemento log4j para Eclipse que funciona de manera similar a la motosierra (SocketServer). Incluye color, filtrado, información detallada y guarda configuraciones".

Neal Swearer
fuente
Este es un gran complemento, una lástima que no tengan uno para europa :(
branchgabriel
15
Es muy confuso tener un complemento de Eclipse llamado "ganymede".
JesperE
2

Lea sobre el punto de extensión org.eclipse.ui.console.consolePatternMatchListeners .

thSoft
fuente
1
Esa es la forma correcta de hacerlo, pero creo que el cartel esperaba que alguien hubiera hecho esto para las secuencias de escape ansi o los códigos de color html.
aepurniet
1

Puede considerar probar Apache Chainsaw ( http://logging.apache.org/chainsaw/index.html ) si ya está trabajando con log4j. Le permite definir colores y filtros y funciona con una configuración (casi) cero.

GHad
fuente
Lo he probado hace mucho tiempo, fue muy útil aunque no sé si me puede ayudar en este caso. Espero que me permita más granularidad en el color de las filas, pero quiero más ... Lo intentaré mañana.
Newtopian
1

He usado este complemento antes, le permite colorear líneas del registro en función de expresiones regulares personalizadas.

Por ejemplo, cuando lo estaba usando, cualquier línea con las palabras error sería roja, la advertencia sería naranja, la información sería azul ... etc.

Como es una expresión regular, puedes hacer cualquier cosa. Configúrelo para que la línea sea verde siempre que comience con ">>>" y luego anteponga la cadena de mensaje con ">>>".

http://sourceforge.net/projects/logfiletools


fuente
1

Puede usar el complemento ANSI Escape en la consola para Eclipse. Lo necesitará para que la consola Eclipse pueda interpretar los códigos de escape ANSI. Instálelo y reinicie Eclipse . Luego, puede usar los códigos de color ANSI para escribir en un color determinado. Aquí hay una lista de códigos de color ANSI de otra respuesta de stackoverflow. Entonces puedes hacer esto:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_RED = "\u001B[31m";

public static void main(String[] args) {
    System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
}

Usé esto para crear un formateador personalizado para el controlador de la consola, de modo que muestre registros de Logger en diferentes niveles con diferentes colores (registros INFO en cian, registros de ADVERTENCIA en amarillo y registros SEVERE en rojo). Así es como lo hice , si está interesado.

jajube
fuente
0

Emoji

Puede usar colores para el texto como otros mencionaron en sus respuestas.

¡Pero puedes usar emojis en su lugar! por ejemplo, puede utilizar Puede utilizar ⚠️para mensajes de advertencia y mensajes 🛑de error para que destaquen.

O simplemente use estos cuadernos de notas como color:

📕: error message
📙: warning message
📗: ok status message
📘: action message
📓: canceled status message
📔: Or anything you like and want to recognize immediately by color

Personalmente, uso emojis significativos para diferentes salidas.

Authentication Key: 🔑 
Server Error: 💣
etc.

🎁 Bono:

Este método también le ayuda a escanear y encontrar registros directamente en el código fuente .

Pero la fuente emoji predeterminada de Linux no es colorida por defecto y es posible que desee hacerlos coloridos, primero.

Mojtaba Hosseini
fuente