Если вы просматриваете txt логи в Notepad++, то, скорее всего, хочется воспользоваться его встроенными стилями, чтобы не вглядываться в монотонный текст, а быстро находить глазами нужные сообщения. Данная статья - всего лишь маленький совет для начинающих и от начинающего разработчика, уверен, что есть куча готовых решений, так что ни на что абсолютно не претендую, и полноценной статьей или гайдом это назвать нельзя.
Ищем в меню N++ Синтаксисы - Польз. Синтаксис - Задать свой синтаксис:
![Видим такое окно Видим такое окно](https://habrastorage.org/getpro/habr/post_images/564/7cc/0f3/5647cc0f3a547bf62a2350b4a0e215b2.jpg)
Установим моноширинный шрифт по умолчанию, мне лично нравится Consolas:
![](https://habrastorage.org/getpro/habr/upload_files/3bc/eff/477/3bceff47733f263caa6ff73dcf540851.png)
![Жмем ОК. Жмем ОК.](https://habrastorage.org/getpro/habr/upload_files/994/8b2/a55/9948b2a551bc9ceb254caec2e1e9354a.png)
Для начала я предлагаю подсветить уровни логирования (trace, debug и т.д.). Переходим к табу Ключевые слова. В каждую группу можно вписать по одному слою логирования, а далее, нажав кнопку Стиль, можно задать цвет текста, шрифт и т.д. Вот как это сделано у меня для примера:
![](https://habrastorage.org/getpro/habr/post_images/0e2/646/884/0e2646884018554acdec2123326438ab.jpg)
Для себя я выбрал цветной фон текста для каждого слоя. И полужирный текст дополнительно для ошибок.
Можно сохранить наш синтаксис, дав ему любое имя. Теперь в списке синтаксисов внизу будет и тот, который мы сохранили. Проверяем, введя текст:
![](https://habrastorage.org/getpro/habr/upload_files/b10/227/422/b10227422835e89c689def19174057e8.png)
Давайте теперь подсветим блоки из, например, треугольных скобок (я так помечаю методы)
![](https://habrastorage.org/getpro/habr/upload_files/423/8d7/58a/4238d758adbad458f6a7645dbe3453ad.png)
Я выбрал такой стиль:
![](https://habrastorage.org/getpro/habr/upload_files/a92/8f6/387/a928f6387191e5fd38e8d2868ed673a4.png)
Добавим приятных мелочей в виде null, true\false. Возвращаемся к ключевым словам.
![](https://habrastorage.org/getpro/habr/upload_files/7fc/7e7/414/7fc7e7414606c45cf49da2e912b894cc.png)
![](https://habrastorage.org/getpro/habr/upload_files/a33/c3e/b92/a33c3eb92c99994317f6006d111c2fbd.png)
Теперь я покажу, как можно подсветить JSON-like вывод. Снова идем в разделители:
![](https://habrastorage.org/getpro/habr/upload_files/109/b0b/230/109b0b230d915298102edf906519515a.png)
Но самое главное, что мы можем задать ключевые слова, которые будут работать внутри нашего блока разделителей. Выберем нужное, например:
![](https://habrastorage.org/getpro/habr/upload_files/0fc/813/e04/0fc813e04a252482c1a84046582aa26d.png)
![Наслаждаемся результатом Наслаждаемся результатом](https://habrastorage.org/getpro/habr/upload_files/b23/726/8e0/b237268e048cffd149a68fd41119c04a.png)
Если подводить итоги, то лично я немного разочарован отсутствием регулярных выражений для создания собственных паттернов. Хотя, не буду врать, я не читал документацию оно и видно. Некоторые ключевые слова и особенно вложенные стили работают очень странно. Но учитывая, что можно упростить себе жизнь, буквально, за три минуты, сам факт существования таких настроек синтаксиса, это уже очень неплохо.
Комментарии (14)
maksim_ms
21.07.2022 16:46Так вроде есть готовый синтаксис для подсветки логов, его достаточно только импортировать.
Maxim_Q
21.07.2022 17:39Встроенного готового в Notepad++ нет, если у вас есть ссылка на готовый хороший синтаксис тогда дайте ссылку
rundll32 Автор
22.07.2022 13:28Я думаю, что есть плагины или, на крайний случай, ini\xml логи, но для меня это не подходило, а тратить много времени для такой задачи тоже было бы чересчур.
Z55
21.07.2022 18:41+5Всё это хорошо только для просмотра каких-то небольших логов. Если ваш лог это сотни мегабайт, то вместо лога на экране будут слайды. И тут рулят уже другие инструменты, такие как grep, sed, vim, less итд
virst
22.07.2022 09:55Как сделать, что бы ключевые слова подсвечивались только внутри фигурных скобок, но не в обычном тексте за его приделами.
rundll32 Автор
22.07.2022 13:31Не уверен, что на таких примитивных настройках можно сделать полноценный синтаксис.
virst
22.07.2022 14:35Спасибо. Понятно. Просто давно разбирался в этом, но ответ на этот вопрос так и не нашел. Но в PHP это же как то работает в <?.....> одни правила синтаксиса и подсветки, а снаружи другие.
rundll32 Автор
22.07.2022 17:52Стили можно импортировать и экспортировать, а на выходе, как я понял, XML. Можно посмотреть https://github.com/michaeluno/notepad-plus-plus-php-definition
baldr
Хотел посоветовать BareTail, но он, оказывается, с 2006 года не обновлялся. Примерно с тех пор я и перешел на Linux и там открыл для себя lnav.
skymal4ik
Также рекомендую его, и сам пользуюсь lnav на серверах, где часто надо смотреть логи по ssh. Например, веб-сервера или сервера приложений. Радует удобное управление и поддержка форматов из коробки.