Розфарбуйте журнали на консолі затемнення


105

Чи є спосіб розфарбувати частини колод на консолі затемнення. Я знаю, що можу надсилати помилки та стандартні потоки і забарвлювати їх по-різному, але я більше шукаю щось у рядках кодів аварійних відхилень ANSI (чи будь-який інший, HTML?), Куди я міг би вставити кольори у рядок, щоб він був кольоровим у колоди.

Це впевнено допоможе зробити так, щоб важливі біти виділялися, не вдаючись до дивної верстки, а краще зберегти макет до налаштувань log4j

ось приклад того, що я шукаю:

[INFO] Сітка завершена ....... помилково

там, де сміливі деталі були б синім кольором, цим фарбуванням можна керувати програмою певною мірою. так (теги концептуальні та довільні, але ви розумієте):

log.info (String.format ("Сітка завершена ....... <blue>% s </blue>", isComplete));


Більш загальна примітка - це можливість вбудувати мета-інформацію в журнали, щоб допомогти представити ці журнали. Так само, як ми тегуємо вміст веб-сторінок, щоб допомогти представити інформацію CSS.


Ви можете використовувати MulticolorLayout з jcabi-журнал , як описано тут: stackoverflow.com/questions/7848325
yegor256

Інтересуючий! ANSI-Coloring, я мав би поглянути на це наступного разу, коли я підпалюю Eclipse! Дякую. Що стосується JCabi, я люблю контекстуалізувати мої реєстратори, і це рідко підходить до назви класу, тому я сумніваюся, що статична обгортка зробить цю справу. Мені часто потрібно динамічно встановлювати ім’я реєстратора на екземпляр, оскільки це дає мені набагато ефективніше використовувати інформацію журналу.
ньютопський

Відповіді:


76

Спробуйте цей плагін Eclipse: Grep Console

[Оновлення] :
Як зазначають коментатори: Під час встановлення консолі Grep в останній версії Eclipse вам потрібно зняти прапорець "Група елементів за категоріями" у діалоговому вікні "Встановити", щоб побачити доступні елементи.
Як вказував @Line, плагін тепер можна легко встановити через Eclipse Marketplace, не змінюючи жодних параметрів.

[Оновлення 2] :
Як вказував @azdev , щоб правильно виділити:

Введення лише буквальних рядків не працює. Щоб отримати рядок кольоровим, потрібно вкласти рядок .* з обох боків, наприклад: .*ERROR.*


3
Плагін не може працювати з останніми програмами Eclipse (Helios).
sorin

1
виправлення того, що плагін не активно розроблявся, я задав автору кілька запитань і отримав відповіді протягом години! Що стосується шаблонів, то плагін має регулярні вирази, тому при його налаштуваннях очікується певна настройка та вимкнення. Я рекомендую встановити плагін регулярного виразу, щоб спробувати скопіювати вкладені витяги з консолі. Після налаштування, хоча це працює як шарм
ньютопієць

2
Якщо хтось шукає документацію для консолі Грепа
Денні Булліс

1
Крім того, якщо комусь
Денні Булліс

1
Спробуйте спочатку видалити [оновлення] - тепер його можна легко встановити через Marketplace.
Рядок

18

Насправді плагін ANSI Console додає підтримку коду відключення ANSI до консолі Eclipse. В даний час у нього є обмеження, внаслідок чого коди втечі, які охоплюють кілька ліній, неправильно просочуються до інших рядків під час прокрутки, див. Випуск №3 .

Інакше плагін перегляду терміналів, як це пояснено в цьому іншому запитанні, може бути варіантом для деяких.


Я використовував веб-сторінку mihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-console . Досконала підтримка простої анси в консолі!
tutejszy

9

Як уже вказував @Benjamin Grep Console - це прекрасний спосіб розфарбувати вихід у консолі.

Я зробив коротке відео, щоб продемонструвати, як це працює, і почув від плагіна Creator of Grep Console. Він зазначив, що випущена консоль Grep 3.

Екран екрану : http://www.youtube.com/watch?v=fXjgGZAxToc

Оновити Сайти

Консоль Grep 2
http://eclipse.musgit.com
(потрібно Eclipse 3.4 (Ganymede) або новішої версії та Java 5.0 або новішої версії)

Консоль Grep 3
http://eclipse.schedenig.name
(потрібно Eclipse 3.7 (Indigo) або вище та Java 6.0 або новішої версії)



4

Ми використовуємо плагін Ganymede Eclipse там, де я працюю, і він працює добре.

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

"Плагін log4j до Eclipse, який працює аналогічно бензопилі (SocketServer). Включає колір, фільтрацію, детальну інформацію та зберігає налаштування."


Це чудовий плагін, занадто поганий, у них його немає для europa :(
branchgabriel

15
Могутній заплутаний плагін Eclipse під назвою "ganymede".
JesperE

2

Прочитайте про точку розширення org.eclipse.ui.console.consolePatternMatchListeners .


1
це правильний спосіб зробити це, але я думаю, що плакат сподівався, що хтось зробив це для послідовностей втечі ansi або html-кодів кольорів.
aepurniet

1

Ви можете розглянути спробу бензопили Apache ( http://logging.apache.org/chainsaw/index.html ), якщо ви вже працюєте з log4j. Дозволяє визначати кольори та фільтр і працює з (майже) нульовою конфігурацією.


Я пробував це давно, це було дуже корисно, хоча я не знаю, чи може мені це допомогти в цьому випадку. Я очікую, що це дозволить мені отримати більш детальну деталь у кольорі кольорів, але я хочу більше ... Я спробую це завтра.
ньютопський

1

Раніше я використовував цей плагін, він дозволяє вам розфарбувати лінії журналу на основі налаштованих регулярних виразів.

Наприклад, коли я ним користувався, будь-які рядки зі словами помилки були б червоними, попередження - помаранчевим, інформація - синім ... тощо.

Оскільки це регулярний вираз, ви можете зробити що завгодно. Налаштуйте його, щоб зробити рядок зеленим кольором кожного разу, коли він починається з ">>>", а потім додайте рядок повідомлення з ">>>".

http://sourceforge.net/projects/logfiletools


1

Ви можете використовувати плагін ANSI Escape у плагіні для консолі Eclipse. Вам знадобиться це, щоб консоль Eclipse могла інтерпретувати коди ANSI Escape. Встановіть його та перезапустіть Eclipse . Потім ви можете використовувати ANSI Color Codes для запису певного кольору. Ось список кольорів ANSI кольорів з іншої відповіді stackoverflow. Тоді ви можете зробити це:

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

Я використовував це для створення користувальницького форматера для обробника консолі, щоб він відображав журнали з Logger різних рівнів різними кольорами (журнали INFO в блакитному кольорі, журнали ПОПЕРЕДЖЕННЯ жовтим кольором та журнали SEVERE червоним кольором). Ось як я це зробив , якщо вам цікаво.


0

Емоджі

Ви можете використовувати кольори для тексту, як інші, згадані у своїх відповідях.

Але замість цього ви можете використовувати емоджи ! наприклад, ви можете використовувати Ви можете використовувати як ⚠️для попереджувальних повідомлень, так і 🛑для повідомлень про помилки, щоб зробити їх виділеннями!

Або просто використовуйте ці записні книжки як колір:

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

Я особисто використовую змістовні емоджи для різних результатів.

Authentication Key: 🔑 
Server Error: 💣
etc.

🎁 Бонус:

Цей метод також допомагає швидко сканувати та знаходити журнали безпосередньо у вихідному коді .

Але шрифт смайлів Emoji за замовчуванням не є кольоровим за замовчуванням, і ви, можливо, спочатку бажаєте зробити їх різнокольоровими.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.