Если вы просматриваете txt логи в Notepad++, то, скорее всего, хочется воспользоваться его встроенными стилями, чтобы не вглядываться в монотонный текст, а быстро находить глазами нужные сообщения. Данная статья - всего лишь маленький совет для начинающих и от начинающего разработчика, уверен, что есть куча готовых решений, так что ни на что абсолютно не претендую, и полноценной статьей или гайдом это назвать нельзя.

Ищем в меню N++ Синтаксисы - Польз. Синтаксис - Задать свой синтаксис:

Видим такое окно
Видим такое окно

Установим моноширинный шрифт по умолчанию, мне лично нравится Consolas:

Жмем ОК.
Жмем ОК.

Для начала я предлагаю подсветить уровни логирования (trace, debug и т.д.). Переходим к табу Ключевые слова. В каждую группу можно вписать по одному слою логирования, а далее, нажав кнопку Стиль, можно задать цвет текста, шрифт и т.д. Вот как это сделано у меня для примера:

Для себя я выбрал цветной фон текста для каждого слоя. И полужирный текст дополнительно для ошибок.

Можно сохранить наш синтаксис, дав ему любое имя. Теперь в списке синтаксисов внизу будет и тот, который мы сохранили. Проверяем, введя текст:

Давайте теперь подсветим блоки из, например, треугольных скобок (я так помечаю методы)

Я выбрал такой стиль:

Добавим приятных мелочей в виде null, true\false. Возвращаемся к ключевым словам.

Теперь я покажу, как можно подсветить JSON-like вывод. Снова идем в разделители:

Но самое главное, что мы можем задать ключевые слова, которые будут работать внутри нашего блока разделителей. Выберем нужное, например:

Наслаждаемся результатом
Наслаждаемся результатом

Если подводить итоги, то лично я немного разочарован отсутствием регулярных выражений для создания собственных паттернов. Хотя, не буду врать, я не читал документацию оно и видно. Некоторые ключевые слова и особенно вложенные стили работают очень странно. Но учитывая, что можно упростить себе жизнь, буквально, за три минуты, сам факт существования таких настроек синтаксиса, это уже очень неплохо.

Комментарии (14)


  1. baldr
    21.07.2022 15:14
    +3

    Хотел посоветовать BareTail, но он, оказывается, с 2006 года не обновлялся. Примерно с тех пор я и перешел на Linux и там открыл для себя lnav.


    1. skymal4ik
      21.07.2022 15:33
      +1

      Также рекомендую его, и сам пользуюсь lnav на серверах, где часто надо смотреть логи по ssh. Например, веб-сервера или сервера приложений. Радует удобное управление и поддержка форматов из коробки.


  1. maksim_ms
    21.07.2022 16:46

    Так вроде есть готовый синтаксис для подсветки логов, его достаточно только импортировать.


    1. Maxim_Q
      21.07.2022 17:39

      Встроенного готового в Notepad++ нет, если у вас есть ссылка на готовый хороший синтаксис тогда дайте ссылку


    1. rundll32 Автор
      22.07.2022 13:28

      Я думаю, что есть плагины или, на крайний случай, ini\xml логи, но для меня это не подходило, а тратить много времени для такой задачи тоже было бы чересчур.


  1. Z55
    21.07.2022 18:41
    +5

    Всё это хорошо только для просмотра каких-то небольших логов. Если ваш лог это сотни мегабайт, то вместо лога на экране будут слайды. И тут рулят уже другие инструменты, такие как grep, sed, vim, less итд


    1. Dukat
      22.07.2022 04:18

      На случай сотен МБ для Npp есть https://github.com/superolmo/BigFiles


  1. AlexGorky
    22.07.2022 00:00
    +2

    Если речь про Windows, то настоятельно рекомендую HippoEdit. Там можно свои настройки синтаксиса создавать в виде xml-файлов. Достаточно гибко.

    И в отличие от других современных продуктов, инсталлятор весит 5 Мб (а не 500 как сейчас принято).


    1. rundll32 Автор
      22.07.2022 13:28

      Спасибо!


      1. Mike-M
        23.07.2022 01:04
        +1

        Ещё один вариант — EmEditor. В нем настраивается вообще всё что только можно настроить.


  1. virst
    22.07.2022 09:55

    Как сделать, что бы ключевые слова подсвечивались только внутри фигурных скобок, но не в обычном тексте за его приделами.


    1. rundll32 Автор
      22.07.2022 13:31

      Не уверен, что на таких примитивных настройках можно сделать полноценный синтаксис.


      1. virst
        22.07.2022 14:35

        Спасибо. Понятно. Просто давно разбирался в этом, но ответ на этот вопрос так и не нашел. Но в PHP это же как то работает в <?.....> одни правила синтаксиса и подсветки, а снаружи другие.


        1. rundll32 Автор
          22.07.2022 17:52

          Стили можно импортировать и экспортировать, а на выходе, как я понял, XML. Можно посмотреть https://github.com/michaeluno/notepad-plus-plus-php-definition