Подробный журнал. Slave режим.

Стартовая страница Форумы Ошибки в работе Подробный журнал. Slave режим.

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Автор
    Сообщения
  • #42065
    JurasskPark
    Участник

    Если у драйвера в Slave режиме отключить режим Подробный журнал, то в логах отображается только отправка данных, а приём данных не отображается.

    #42066
    JurasskPark
    Участник

    Почему это сообщение…
    Потому что
    [Дата] Сеанс связи с устройством [Название устройства]
    столько много в логах, что анализировать его трудоемко. Решил отключить.
    Вот отключил.
    Что я отправил вижу, а что принял нет.

    #42117
    Mikhail
    Модератор

    Добрый день!
    Не проверяли, как будет работать данная опция для других драйверов в режиме мастер?
    По идее отправка тоже не должна отображаться.

    #42131
    JurasskPark
    Участник

    Я решил написать драйвер DrvDebug.
    Потому что у мне также интересно стало режим Mixer.)

    #42136
    JurasskPark
    Участник

    Провëл я эксперименты.

    Итог:
    1. Если Детальный лог отключен, то он не пишется в режиме сообщений Info, Action, Warning, Error не пишутся.
    2. Если в файл line#.log записываю данные без Log.Write, то они тоже отображаются.
    3. Количество Сеанс связи с устройством будет проходить если включен Детальное логирование. И получается, что я должен писать файл в line#.log самостоятельно, и выключив Детальное логирование, чтобы не видит Сеанс связи.

    #42138
    Mikhail
    Модератор

    Идея опции Детальный журнал на самом деле простая — если она отключена, то в класс Dev*Logic в свойство Log передаётся заглушка, которая ничего никуда не пишет.

    #42144
    JurasskPark
    Участник

    Но моя идея, что Сеанс связи можно писать только, когда в буфере есть данные или произошло подключение. А каждую секунду по 10 раз писать о том, что Сеанс связи происходит — это растет лог и усложняет его анализ.

    #42145
    manjey73
    Участник

    Кто-то мешает делать вывод в лог через таймер?
    Или по условиям?

    • Ответ изменён 1 месяц, 2 недели назад пользователем manjey73.
    #42147
    JurasskPark
    Участник

    Кто-то мешает делать вывод в лог через таймер?
    Или по условиям?

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

    #42148
    manjey73
    Участник

    А попробуй посмотреть, откуда ноги растут у Логирования, может можно себе скопировать класс и как-то все же использовать?
    Хотя это Михаил должен подсказать, можно это как-то сделать?

    #42149
    JurasskPark
    Участник
    
            /// <summary>
            /// Performs a communication session.
            /// </summary>
            public virtual void Session()
            {
                LastSessionTime = DateTime.UtcNow;
                LastRequestOK = true;
    
                Log.WriteLine();
                Log.WriteAction(Locale.IsRussian ?
                    "Сеанс связи с устройством {0}" :
                    "Session with the device {0}", Title);
            }
    

    Получается, что в режиме Slave это идёт от Session.

    #42152
    JurasskPark
    Участник

    Самое интересное, что скрин забыл в начале темы прикрепить, как это выглядело 🙂
    http://jurasskpark.ru/pubimg/up/17721692980db5c36.png

    #42315
    JurasskPark
    Участник

    Сегодня добил вопрос с детальным логом.
    Если детальное логирование отключено, но
    Запись была через Connection.Write(buffer, offset, count), то лог всë равно писался.
    А вот если запись была через Connection.Write(buffer, offset, count, format, out log), то запись не производится.

    А у меня в Slave было именно простой первый Write.

    #42318
    JurasskPark
    Участник

    В итоге, получаю имя линии, путь до логов, получаю адрес файла для логов.
    Отключаю детальное легирования и тоже получаю из свойств линии признак, что линия отключена.

    И уже в свойстве логирования проверяю, что если детальное логирование отключено, но у нас стоит в драйвера признак, что логировать надо, сам пишу в лог.

    #42322
    Mikhail
    Модератор

    А каждую секунду по 10 раз писать о том, что Сеанс связи происходит — это растет лог и усложняет его анализ.

    Ваш драйвер определяет, что пишется в лог во время сеанса связи.

Просмотр 15 сообщений - с 1 по 15 (из 15 всего)
  • Для ответа в этой теме необходимо авторизоваться.