[ Модуль ] Цветной лог в веб интерфейсе BAS Premium

Делитесь приложениями
  • Долго не мог понять как это внедрить и сделать, чтобы хотя бы кое как работало. Покопался в javascript стандартного веб интерфейсе, посмотрел как там выводятся данные в лог и собрал на костылях вот такую вот штуку.
    Принимает цвета, которые есть в uikit:
    2aa9c6b2-9364-4650-a824-9fc303d4b150-image.png
    Код на костылях:

    /// тут он что то делает, скопировал с кода стандартного веб интерфейса
    let Logs = $('#Logs')
    let LogLine = $("<div></div>").addClass("log-line")
    /// тут ваш текст
    let Text = $("<span></span>").text("TEXT").addClass("uk-text-danger")
    /// тут он высчитывает текущую дату
    const hours_log = new Date().getHours()
    const minutes_log = new Date().getMinutes()
    const seconds_log = new Date().getSeconds()
    const log_datenow = String("[" + hours_log + ":" + minutes_log + ":" + seconds_log + "]")
    
    ///// тут собирает айди действия и время в кучу
    LogLine.append($("<span></span>").text("[Тут id выполняемого блока] ").addClass("uk-text-primary"))
    LogLine.append($("<span></span>").text(log_datenow).addClass("uk-text-emphasis"))
    LogLine.append($("<span></span>").text(" [Тут номер потока] : ").addClass("uk-text-emphasis"))
    
    /////Remove old lines
    $('#Logs .log-line').slice(500).remove();
     /////Append text
    LogLine.append(Text)
    Logs.prepend(LogLine)
    
    

    как вы видите не разобрался как получить id выполняемого блока , а также номер потока.
    В функции "выполнить код" поток получается через функцию thread_number(). В функции "Выполнить яваскрипт в веб интерфейсе" данная тема не прокатывает.

    p.s. Возможно можно было сделать и проще, но других вариантов я не знаю, не силен пока в javascript, а данная тема была нужна.

    Итог:
    54679629-fa94-4dd7-a9b5-582601c7a4ba-image.png
    Файл с примером:
    color_log_web.xml

  • @llimonix также можно перекрасить время и название потока, в соответствующих пунктах

  • Собрал модуль для быстрого вызова цветного лога в веб интерфейс, буду рад если протестируете.
    Модуль: ColorWebLog.zip
    Исходник: color_log_web.xml

  • Работает, кайф! А можно как то поставить свой цвет, не из списка?

    И еще не очень удобно, что в обычном интерфейсе не показывается лог вообще..

  • @MKQ1220 там есть какие-то проблемы с этим методом, что у меня софт крашил на этом модуле, но потом как все исправилось самостоятельно. Если тема актуальная , то я постараюсь добавить вывод и в обычный лог.

    Насчет других цветов , то это скорее всего не возможно, так как весь стандартный интерфейс использует Фреймворк uikit. И цвета в hex или просто цвета не жрет. Но я посмотрю что можно придумать, вдруг найдутся лазейки.

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

    Также в веб интерфейсе для моего софта смог создать два раздельных списка логов. Один для основных действий , другой для информации о чеке номеров. Забавная вещь, продолжаю изучать веб интерфейс дальше и возможно придумаю ещё какие-то плюшки, так как этим никто особо не занимается.

  • @MKQ1220 @llimonix Модуль Logger умеет же работать с веб интерфейсом, там в шапке есть демо интерфейс. Только если давно качали то модуль лучше обновить тк я делал мелкие правки, но не писал про это xD

  • @UserTrue Не понимаю почему, но в веб интерфейсе у меня цвет почему то не изменяется через Logger.
    Текст есть, а цвет не применяется(

    И как я понял нельзя убрать вывод ID и номер потока.
    Кажется, что это замыливает глаз для клиента)

    А с данным модулем у меня получилось сделать быстро вот так
    96406976-0bd4-4cb6-9133-634798c5bd54-image.png
    f5df0a7f-f360-43ac-b8fc-8d934dca3c4d-image.png

    но не хватает выбор цветов на любой и вывод лога в обычном интерфейсе

  • @llimonix Тема актуальная! если есть возможность, добавьте и в обычный лог, пожалуйста)
    Понял, ну если получится найти способ применять любые цвета, то вообще хорошо будет) А то стандартные, на белом фоне - бледновато смотрятся..

  • @MKQ1220 там же есть тестовый скрипт и сам интерфейс. Замените кусок кода кода который отвечает за лог в своем проекте на пример из демо интерфейса и все! Строки которые отвечают за вывод ID и тп тоже прокоментированны в коде, просто удалите их или закоменнтируйте. Куда уже проще.

  • @MKQ1220 посмотрю решение от @UserTrue и возможно мой модуль и не нужен будет

  • @UserTrue Попробовал, получилось
    Удалил строки в коде, чтобы не показывало ID и поток
    Но когда ошибка какая либо, то нужно чтоб выводился ID, чтоб мне быстро по id искать ошибку.

    Как это сделать?
    Так как даже через обычный лог он тоже не показывает id и номер потока.
    b4bdf247-4b65-4acb-81ef-25990c13fdce-image.png

    А закоменнтировать или что нужно делать, я не знаю как..

  • @MKQ1220 цвет у него можно ставить любой ?

  • @llimonix кстати нет, любой нельзя по коду
    только такие: b1dc16fb-ddce-4b4f-a817-ed4f7acdd2b8-image.png

  • @MKQ1220 можно любой, например hex - #0ff574. Модуль скоро обновлю, чтобы было можно из настроек отключать/включать action id и тд

  • @UserTrue Точно, извиняюсь! Можно любой цвет, это то что нужно!🤩
    Но вот как мне сделать, чтобы отключал id и номер потока только при логе или только через ваш модуль, а при ошибке выдавал обычный лог с id, не подскажите?

    Буду ждать чтоб это было доступно через настройки, но мне нужно прям сегодня уже сделать красивый лог)

  • @MKQ1220 said in [ Модуль ] Цветной лог в веб интерфейсе BAS Premium:

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

    Он не должен ничего отключать в обычном логе, я не особо понимаю в чем у вас проблема

  • @UserTrue С модулем данной темы, вот так выходит сделать:

    8958896d-61b1-4452-a8ab-fe08c68283ae-image.png

    ID и номера потока нет при логе.
    А если есть ошибка то есть.
    Вот так мне и нужно, чтоб при ошибке был ID, для того чтобы знать где ошибка

    А с Logger всегда нет ID, даже при ошибке.
    e2c8cf48-25af-4003-9369-030f2b165029-image.png

    Потому что я удалил в веб интерфейсе, как вы сказали:

    810594be-8f31-4155-ae5c-25d0d42c6d1d-image.png

    Но это получается удаляется не только у вашего модуля ID и номер потока, но и при ошибках тоже - не выдает ID который мне нужен..

  • @MKQ1220 тогда вам надо не удалять а прописать условие с помощью if под свои хотелки, в объекте события - EventData есть информация о типе лога который пришел

  • @UserTrue понял, сложно в общем

  • @MKQ1220 said in [ Модуль ] Цветной лог в веб интерфейсе BAS Premium:

    @UserTrue понял, сложно в общем

    Я напишу пример, когда модуль обновлю. Делать веб интерфейс без знаний про веб разработку тот еще подвиг xD

    Кстати в текстовом файле лог будет полный в любой случае

    https://community.bablosoft.com/post/139678

  • 1 Votes
    1 Posts
    636 Views
  • 1 Votes
    4 Posts
    1396 Views
  • 7 Votes
    42 Posts
    6626 Views
  • 2 Votes
    9 Posts
    3639 Views
  • 8 Votes
    14 Posts
    3515 Views