Если вы просматриваете txt логи в Notepad++, то, скорее всего, хочется воспользоваться его встроенными стилями, чтобы не вглядываться в монотонный текст, а быстро находить глазами нужные сообщения. Данная статья - всего лишь маленький совет для начинающих и от начинающего разработчика, уверен, что есть куча готовых решений, так что ни на что абсолютно не претендую, и полноценной статьей или гайдом это назвать нельзя.
Ищем в меню N++ Синтаксисы - Польз. Синтаксис - Задать свой синтаксис:
Установим моноширинный шрифт по умолчанию, мне лично нравится Consolas:
Для начала я предлагаю подсветить уровни логирования (trace, debug и т.д.). Переходим к табу Ключевые слова. В каждую группу можно вписать по одному слою логирования, а далее, нажав кнопку Стиль, можно задать цвет текста, шрифт и т.д. Вот как это сделано у меня для примера:
Для себя я выбрал цветной фон текста для каждого слоя. И полужирный текст дополнительно для ошибок.
Можно сохранить наш синтаксис, дав ему любое имя. Теперь в списке синтаксисов внизу будет и тот, который мы сохранили. Проверяем, введя текст:
Давайте теперь подсветим блоки из, например, треугольных скобок (я так помечаю методы)
Я выбрал такой стиль:
Добавим приятных мелочей в виде null, true\false. Возвращаемся к ключевым словам.
Теперь я покажу, как можно подсветить JSON-like вывод. Снова идем в разделители:
Но самое главное, что мы можем задать ключевые слова, которые будут работать внутри нашего блока разделителей. Выберем нужное, например:
Если подводить итоги, то лично я немного разочарован отсутствием регулярных выражений для создания собственных паттернов. Хотя, не буду врать, я не читал документацию оно и видно. Некоторые ключевые слова и особенно вложенные стили работают очень странно. Но учитывая, что можно упростить себе жизнь, буквально, за три минуты, сам факт существования таких настроек синтаксиса, это уже очень неплохо.
Комментарии (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. Например, веб-сервера или сервера приложений. Радует удобное управление и поддержка форматов из коробки.