Colora i registri nella console di eclipse


105

C'è un modo per colorare parti di log nella console di eclipse. So che potrei inviare a flussi di errore e standard e colorarli in modo diverso, ma sto più cercando qualcosa nelle righe dei codici di escape ANSI (o qualsiasi altro, HTML?) Dove potrei incorporare i colori nella stringa per averlo colorato nel registri.

Sicuramente aiuterebbe a far risaltare i bit importanti senza ricorrere a layout strani, piuttosto mantenere il layout alle impostazioni di log4j

ecco un esempio di quello che sto cercando:

[INFO] La griglia è completa ....... false

dove le parti in grassetto sarebbero in blu, questa colorazione può essere controllata dall'applicazione in una certa misura. in questo modo (i tag sono concettuali e arbitrari, ma hai un'idea):

log.info (String.format ("La griglia è completa ....... <blue>% s </blue>", isComplete));


In una nota più generale è la capacità di incorporare meta informazioni nei log per aiutare la presentazione di questi log. Proprio come noi taggiamo il contenuto delle pagine web per aiutare la presentazione delle informazioni da parte dei CSS.


è possibile utilizzare MulticolorLayout da jcabi-log , come spiegato qui: stackoverflow.com/questions/7848325
yegor256

Interessante! ANSI-Coloring, dovrei dare un'occhiata a quello la prossima volta che accendo il mio Eclipse! Grazie. Per quanto riguarda JCabi, mi piace contestualizzare i miei logger e raramente questo si adatta al nome della classe, quindi dubito che un wrapper statico farebbe il trucco. Spesso ho bisogno di impostare dinamicamente il nome del logger sull'istanza in quanto mi dà un uso molto più efficiente delle informazioni di registrazione.
Newtopian

Risposte:


76

Prova con questo plugin Eclipse: Grep Console

[Aggiornamento] :
Come sottolineato dai commentatori: Quando si installa Grep Console nell'ultima versione di Eclipse attualmente, è necessario deselezionare "Raggruppa elementi per categoria" nella finestra di dialogo Installa per vedere gli elementi disponibili.
Come sottolineato da @Line, il plug-in può ora essere facilmente installato nuovamente tramite Eclipse Marketplace senza modificare alcuna opzione.

[Aggiornamento 2] :
come sottolineato da @azdev , per ottenere una corretta evidenziazione:

L'immissione di stringhe letterali non funziona. Per colorare una linea, devi racchiudere la stringa .* su entrambi i lati, in questo modo: .*ERROR.*


3
Il plugin non sembra funzionare con l'ultimo Eclipse (Helios).
sorin

1
correzione sul plugin non in fase di sviluppo attivo, ho chiesto al creatore alcune domande e ho ricevuto risposta in poche ore! Per quanto riguarda i modelli, il plug-in accetta espressioni regolari, quindi è previsto un po 'di aggiustamenti e modifiche durante la configurazione. Suggerirei di installare un plug-in di espressioni regolari per provare a copiare estratti incollati dalla console. Una volta configurato, però, funziona a
meraviglia

2
Nel caso qualcuno stia cercando la documentazione per la console Grep
Danny Bullis

1
Inoltre, nel caso in cui qualcuno abbia bisogno di aiuto con i modelli di regex (questo collegamento alla guida è incluso anche nella finestra di dialogo della console Grep
Danny Bullis

1
Si prega di considerare la rimozione del primo [aggiornamento] - ora può essere facilmente installato tramite il Marketplace.
Linea

18

In realtà il plug-in ANSI Console aggiunge il supporto del codice di escape ANSI alla console Eclipse. Al momento, tuttavia, ha una limitazione, per cui i codici di escape che si estendono su più righe perdono in modo errato su altre righe durante lo scorrimento, vedere il problema # 3 .

In caso contrario, alcuni plug-in per la visualizzazione del terminale come spiegato in questa altra domanda potrebbero essere un'opzione per alcuni.


Ho usato la pagina web mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console . Perfettamente semplice supporto ansi in console!
tutejszy

9

Come già sottolineato da @Benjamin Grep Console è un ottimo modo per colorare l'output nella Console.

Avevo realizzato un breve video per dimostrare come funzionava e ho ricevuto risposta dal creatore del plug-in Grep Console. Ha detto che Grep console 3 è stato rilasciato.

Trasmissione dello schermo : http://www.youtube.com/watch?v=fXjgGZAxToc

Aggiorna siti

Grep Console 2
http://eclipse.musgit.com
(richiede Eclipse 3.4 (Ganymede) o versioni successive e Java 5.0 o versioni successive)

Grep Console 3
http://eclipse.schedenig.name
(richiede Eclipse 3.7 (Indigo) o versioni successive e Java 6.0 o versioni successive)



4

Usiamo il plugin Ganymede Eclipse dove lavoro e funziona bene.

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

"Un plug-in log4j per Eclipse che funziona in modo simile alla motosega (SocketServer). Include colore, filtri, informazioni dettagliate e salva le impostazioni."


Questo è un ottimo plugin,
peccato

15
Può creare confusione avere un plugin Eclipse chiamato "ganimede".
JesperE

2

Leggi informazioni sul punto di estensione org.eclipse.ui.console.consolePatternMatchListeners .


1
questo è il modo giusto per farlo, ma penso che il poster sperava che qualcuno lo avesse fatto per sequenze di escape ansi o codici colore html.
aepurniet

1

Potresti considerare di provare Apache Chainsaw ( http://logging.apache.org/chainsaw/index.html ) se stai già lavorando con log4j. Consente di definire i colori e il filtro e funziona con una configurazione (quasi) nulla.


L'ho provato molto tempo fa, è stato molto utile anche se non so se può aiutarmi in questo caso. Mi aspetto che mi consenta una maggiore granularità nel modo in cui le righe sono colorate, ma voglio di più ... Lo proverò domani.
Newtopian

1

Ho già usato questo plugin, ti permette di colorare le linee del log in base a regex personalizzate.

Ad esempio, quando lo stavo usando, tutte le righe con le parole errore sarebbero state rosse, l'avviso sarebbe arancione, le informazioni sarebbero blu ... ecc.

Dato che è regex, puoi fare qualsiasi cosa. Impostalo per rendere la linea verde ogni volta che inizia con ">>>" e quindi anteponi la stringa del messaggio con ">>>".

http://sourceforge.net/projects/logfiletools


1

Puoi utilizzare ANSI Escape in Console plugin per Eclipse. Avrai bisogno di questo in modo che la console Eclipse possa interpretare i codici di escape ANSI. Installalo e riavvia Eclipse . Quindi è possibile utilizzare i codici colore ANSI per scrivere in un determinato colore. Ecco un elenco di codici colore ANSI da un'altra risposta stackoverflow. Quindi puoi farlo:

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

L'ho usato per creare un formattatore personalizzato per il gestore della console in modo che mostri i registri del logger in diversi livelli con colori diversi (registri INFO in ciano, registri AVVISO in giallo e registri SEVERE in rosso). Ecco come l'ho fatto , se ti interessa.


0

emoji

Puoi usare i colori per il testo come altri hanno menzionato nelle loro risposte.

Ma puoi usare invece gli emoji ! ad esempio puoi usare Puoi usare ⚠️per i messaggi di avviso e 🛑per i messaggi di errore per farli risaltare!

O semplicemente usa questi taccuini come colore:

📕: 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 emoji significativi per diversi output.

Authentication Key: 🔑 
Server Error: 💣
etc.

🎁 Bonus:

Questo metodo ti aiuta anche a scansionare e trovare rapidamente i log direttamente nel codice sorgente .

Ma il font emoji predefinito di Linux non è colorato per impostazione predefinita e potresti voler renderli colorati, prima.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.