Coloriser les journaux dans la console Eclipse

105

Existe-t-il un moyen de coloriser certaines parties des journaux dans la console Eclipse. Je sais que je pourrais envoyer des flux d'erreur et standard et les colorer différemment, mais je cherche plutôt quelque chose dans les lignes de codes d'échappement ANSI (ou tout autre, HTML?) Où je pourrais incorporer les couleurs dans la chaîne pour la faire colorer dans le journaux.

Cela aiderait certainement à faire ressortir les éléments importants sans recourir à une disposition étrange, mais plutôt à conserver la disposition aux configurations log4j

voici un exemple de ce que je recherche:

[INFO] La grille est complète ....... false

là où les parties en gras seraient en bleu, cette coloration peut être contrôlée dans une certaine mesure par l'application. comme ça (les balises sont conceptuelles et arbitraires, mais vous voyez l'idée):

log.info (String.format ("La grille est complète ....... <blue>% s </blue>", isComplete));


D'une manière plus générale, c'est la possibilité d'incorporer des méta-informations dans les journaux pour aider à la présentation de ces journaux. Tout comme nous étiquetons le contenu des pages Web pour aider à la présentation des informations par CSS.

Newtopian
la source
vous pouvez utiliser MulticolorLayout depuis jcabi-log , comme expliqué ici: stackoverflow.com/questions/7848325
yegor256
Intéressant! ANSI-Coloring, je devrais y jeter un œil la prochaine fois que j'allumerai mon Eclipse! Merci. En ce qui concerne le JCabi, j'aime contextualiser mes enregistreurs et rarement cela correspond au nom de la classe, donc je doute qu'un wrapper statique fasse l'affaire. J'ai souvent besoin de définir dynamiquement le nom de l'enregistreur sur l'instance car cela me donne une utilisation beaucoup plus efficace des informations de journalisation.
Newtopian

Réponses:

76

Essayez avec ce plugin Eclipse: Grep Console

[Mise à jour] :
Comme indiqué par les commentateurs: Lors de l'installation de Grep Console dans la dernière version actuelle d'Eclipse, vous devez décocher «Regrouper les éléments par catégorie» dans la boîte de dialogue Installer pour voir les éléments disponibles.
Comme l'a souligné @Line, le plugin peut maintenant être facilement installé à nouveau via le marché Eclipse sans modifier aucune option.

[Mise à jour 2] :
Comme indiqué par @azdev , pour obtenir une mise en évidence appropriée:

La saisie de chaînes littérales ne fonctionne pas. Pour qu'une ligne soit colorée, vous devez entourer la chaîne de .* chaque côté, comme ceci: .*ERROR.*

Benjamin Seiller
la source
3
Le plugin ne fonctionne pas avec la dernière Eclipse (Helios).
sorin le
1
correction du fait que le plugin n'était pas activement développé, j'ai posé quelques questions au créateur et j'ai obtenu des réponses en quelques heures! En ce qui concerne les modèles, le plugin prend des expressions régulières, de sorte que quelques ajustements et déblayages sont attendus lors de sa configuration. Je recommanderais d'installer un plugin d'expression régulière pour essayer avec des extraits copiés depuis la console. Une fois configuré, il fonctionne comme un charme
Newtopian
2
Au cas où quelqu'un chercherait la documentation de la console Grep
Danny Bullis
1
Aussi, au cas où quelqu'un aurait besoin d'aide avec les modèles d'expression régulière (ce lien d'aide est également inclus dans la boîte de dialogue de Grep
Danny Bullis
1
Veuillez envisager de supprimer d'abord [mise à jour] - elle peut maintenant être facilement installée via la place de marché.
Ligne
18

En fait, le plug-in ANSI Console ajoute la prise en charge du code d'échappement ANSI à la console Eclipse. À l'heure actuelle, il a cependant une limitation, selon laquelle les codes d'échappement qui s'étendent sur plusieurs lignes fuient incorrectement vers d'autres lignes lors du défilement, voir le numéro 3 .

Sinon, un plugin de vue de terminal comme expliqué dans cette autre question pourrait être une option pour certains.

fmjrey
la source
J'ai utilisé la page Web mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console . Support ANSI simple et parfait dans la console!
tutejszy
9

Comme déjà souligné par @Benjamin Grep Console est un excellent moyen de coloriser la sortie dans la console.

J'avais réalisé une courte vidéo pour montrer comment cela fonctionnait et j'ai reçu des nouvelles du créateur du plugin Grep Console. Il a mentionné que la console Grep 3 est sortie.

Casting d'écran : http://www.youtube.com/watch?v=fXjgGZAxToc

Mettre à jour les sites

Grep Console 2
http://eclipse.musgit.com
(nécessite Eclipse 3.4 (Ganymede) ou supérieur et Java 5.0 ou supérieur)

Grep Console 3
http://eclipse.schedenig.name
(nécessite Eclipse 3.7 (Indigo) ou supérieur et Java 6.0 ou supérieur)

Ashutosh Jindal
la source
6

Qu'en est-il d'utiliser Logback et son convertisseur de propriétés et tout consigner dans log4j, ce qui peut vous permettre de voir les différents niveaux sur différentes couleurs.

Bonne chance!

EDIT : le plugin eclipse

David Santamaria
la source
4

Nous utilisons le plugin Ganymede Eclipse là où je travaille, et cela fonctionne bien.

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

"Un plugin log4j pour Eclipse qui fonctionne de manière similaire à la tronçonneuse (SocketServer). Comprend la couleur, le filtrage, des informations détaillées et enregistre les paramètres."

Neal Swearer
la source
C'est un super plugin dommage qu'ils n'en aient pas pour europa :(
branchgabriel
15
Mighty déroutant d'avoir un plugin Eclipse appelé "ganymede".
JesperE
2

En savoir plus sur le org.eclipse.ui.console.consolePatternMatchListeners point d'extension.

thSoft
la source
1
c'est la bonne façon de le faire, mais je pense que l'affiche espérait que quelqu'un l'avait fait pour les séquences d'échappement ansi ou les codes de couleur html.
aepurniet
1

Vous pouvez envisager d'essayer Apache Chainsaw ( http://logging.apache.org/chainsaw/index.html ) si vous travaillez déjà avec log4j. Vous permet de définir les couleurs et le filtern et fonctionne avec une configuration (presque) nulle.

GHad
la source
Je l'ai essayé il y a longtemps, c'était très utile même si je ne sais pas si cela peut m'aider dans ce cas. Je m'attends à ce que cela me permette plus de granularité dans la façon dont les lignes sont colorées, mais j'en veux plus ... Je vais essayer demain.
Newtopian
1

J'ai déjà utilisé ce plugin, il vous permet de colorer les lignes du journal en fonction de l'expression régulière personnalisée.

Par exemple, lorsque je l'utilisais, toutes les lignes avec les mots erreur seraient rouges, avertissement serait orange, info serait bleu ... etc.

Puisque c'est regex, vous pouvez tout faire. Configurez-le pour rendre la ligne verte chaque fois qu'elle commence par ">>>", puis ajoutez votre chaîne de message avec ">>>".

http://sourceforge.net/projects/logfiletools


la source
1

Vous pouvez utiliser ANSI Escape dans le plugin Console pour Eclipse. Vous en aurez besoin pour que la console Eclipse puisse interpréter les codes ANSI Escape. Installez-le et redémarrez Eclipse . Ensuite, vous pouvez utiliser les codes de couleur ANSI pour écrire dans une certaine couleur. Voici une liste des codes de couleur ANSI d'une autre réponse stackoverflow. Ensuite, vous pouvez faire ceci:

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);
}

J'ai utilisé ceci pour créer un formateur personnalisé pour le gestionnaire de console afin qu'il affiche les journaux de Logger à différents niveaux avec différentes couleurs (journaux INFO en cyan, journaux AVERTISSEMENT en jaune et journaux GRAVES en rouge). Voici comment je l'ai fait , si cela vous intéresse.

jajube
la source
0

Emoji

Vous pouvez utiliser des couleurs pour le texte comme d'autres l'ont mentionné dans leurs réponses.

Mais vous pouvez utiliser des émojis à la place! par exemple, vous pouvez utiliser Vous pouvez utiliser ⚠️pour les messages d'avertissement et 🛑pour les messages d'erreur pour les faire ressortir!

Ou utilisez simplement ces carnets de notes comme couleur:

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

J'utilise personnellement des emojis significatifs pour différentes sorties.

Authentication Key: 🔑 
Server Error: 💣
etc.

🎁 Bonus:

Cette méthode vous aide également à analyser et à trouver rapidement des journaux directement dans le code source .

Mais la police emoji par défaut de Linux n'est pas colorée par défaut et vous voudrez peut-être la rendre colorée, d'abord.

Mojtaba Hosseini
la source