Чтение журнала регистрации с конца

19.11.07

База данных - Журнал регистрации

Команды для "обратного" чтения не нашел. Взял хитростью.
Итак, нам необходимо узнать результаты произошедшего в 1С события. Для этого
обрабатываем лог событий в журнале регистрации (далее ЖР) программно, перебирая
строки файла 1CV7.MLG и проверяя наличие в них поисковых слов.
Решение в лоб стандартным перебором строк с начала файла вследствие его большого
объема не пойдет, да и объект "Текст" работает медленно, нужны альтернативы.

Попробуем решить указанные проблемы, опираясь на быстрый WSH и исходя из предпосылки:
в большинстве случаев известно время, раньше которого изучаемое событие просто не могло
произойти. Это может быть также время запуска известного запланированного процесса
(обмена УРБД, например), прописавшего лог в ЖР.

Вот это и используем, узнав размер ЖР перед событием:
ОбратныйСлэш =Симв(92); // это обратный слэш, для корректности отображения ФС.

АтрибутыФайла(КаталогИБ()+"SYSLOG"+ ОбратныйСлэш +"1CV7.MLG", РазмерЖРПередСобытием); 

Событие произошло. Что дальше?
Возможности объекта Scripting.FileSystemObject совершать прыжки и быстро перебирать
строки больших файлов:

objFSO	= CreateObject("Scripting.FileSystemObject");

objTextFile = objFSO.OpenTextFile(КаталогИБ()+"SYSLOG"+ ОбратныйСлэш +"1CV7.MLG", 1,0,0);
objTextFile.Skip(РазмерЖРПередСобытием);
// вот здесь прыгаем, ждем...
Пока  objTextFile.AtEndOfStream <> -1 Цикл

Сообщить(objTextFile.Readline()); 

// перебор ЖР до конца // или прервать после получения всей информации по событию.
КонецЦикла;
objTextFile.Close();

Как вариант для незапланированных событий: можно 1 раз в день пополнять список значений "РазмерЖР_НаДату"

См. также

Журнал регистрации Системный администратор Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия Россия Платные (руб)

История изменений реквизитов и табличных частей справочников, документов, независимых регистров сведений, возможность отката изменения, восстановление удаленных объектов, сбор статистики использования базы 1С. Альтернативный журнал регистрации.

22800 руб.

22.02.2018    35943    59    54    

57

Журнал регистрации Системный администратор Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

6000 руб.

28.11.2018    21317    18    7    

44

Журнал регистрации Программист Россия Бесплатно (free)

В материале рассматривается сравнение двух инструментов для работы с журналом регистрации 1С: утилиты ibcmd и платформы Vector. Описаны их функциональные возможности, тестирование производительности и практическое применение для преобразования логов в формат JSON.

20.11.2024    1915    user1913000    13    

20

Журнал регистрации Тестирование QA Программист Бесплатно (free)

Поговорим про логирование в приложениях на базе 1С, рассмотрим проблемы, которые возникают при сборе информации из этих систем, и обсудим практический опыт применения внутренних и внешних инструментов для анализа логов.

21.10.2024    3963    leemuar    8    

24

Инструменты администратора БД Журнал регистрации Системный администратор Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    2629    42    dima_gsv    3    

14

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

19.11.2023    1826    6    AlexSTAL    0    

8

Мониторинг Журнал регистрации Технологический журнал Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    5616    11    AlexSTAL    0    

47
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 302 20.11.07 10:19 Сейчас в теме
Есть ещё один хороший и красивый вариант чтения журнала регистрации: использовать Поставщика данных для Табличного поля - журнал регистрации (документация тут: http://www.1cpp.ru/docum/html/LogDataProvider.html ). Пример есть в Репозитарий классов 1С++ от Артура Аюханова (aka artbear) http://www.1cpp.ru/forum/YaBB.pl?num=1169222935
4. JohnyDeath 302 20.11.07 12:37 Сейчас в теме
+(1) там кстати можно и журналы регистрации "чужих" баз читать
5. Shaman100M 1152 20.11.07 13:08 Сейчас в теме
(4) Ну да, логично было сделать для любых ЖР, они же, в отличие от объектов конфигурации, имеют одинаковую структуру.
Идею в статье сам использовал для чтения чужих ЖР в собственной программе для автообмена, скорострельность приемлимая, потом решил, что если есть возможность, то лучше все же задать имя лог-файла с чисто "своими" событиями, чем пахать чужие необъятные просторы ЖР. :) С другой стороны ЖР хранит не только последний сеанс.
2. Shaman100M 1152 20.11.07 11:52 Сейчас в теме
3. Abadonna 3970 20.11.07 12:21 Сейчас в теме
>Взял хитростью
Похвальная хитрость +1
6. kiselev 14 26.11.07 09:01 Сейчас в теме
Спасибо!
Воспользуюсь.
У меня много операций с большими текстами.
+1
Оставьте свое сообщение