TGViewer
Записки IT специалиста Записки IT специалиста @interface31 · 8.99K subscribers
Post #5473 3.15K
​​Журнал регистрации 1С:Предприятие

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

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

Что можно узнать из журнала регистрации? Да практически все, если конечно у вас задан нужный уровень логирования. Кто создал, изменил, провел, распровел или удалил документ, элемент справочника и т.д. и т.п.

Также в нем фиксируются все ошибки и предупреждения, но опять-таки только те, которые мы получаем на уровне 1С:Предприятия, т.е. внутри программы.

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

Запись событий происходит в самый конец файла и является крайне простым и дешевым действием. Собственно говоря, так работают практически все системы первичных логов – пишут плоский текст в конец файла.

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

И вот тут всплывает обратная сторона плоского текстового лога – будучи крайне дешевым по записи он весьма и весьма дорог на чтение. Фактически нам придется прочитать и распарсить весь объем текста.

В силу особенностей работы 1С такой запрос в рабочее время мог просто положить базу.

После чего какой-то «светлой» голове пришла идея использовать для хранения логов SQLite. Проблема чтения сразу решилась, ну это, собственно сильная сторона любой СУБД. Зато сразу прибавилось других проблем.

Запись в СУБД – дело дорогое, особенно непосредственная запись, которую использовала 1С. А SQLite сама по себе на запись не быстрая, вот и вышло, что хотели как лучше, а получилось, как всегда.

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

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

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

Итак, что вам нужно сделать со своим журналом регистрации? Прежде всего определиться с форматом, точнее перевести все базы, которые могли использовать до сих пор формат SQLite в последовательный формат.

Затем настроить нужную подробность ведения журнала. От этого непосредственно зависит его объем.

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

Глубина хранения журнала должна быть минимальной. Это даст вам гарантию, что даже если кто-то запустит в рабочее время сложный поиск по журналу без ограничений по периоду, то он не положит всю базу.

А для разбора полетов вы всегда можете скопировать файлы журнала обратно, хотя на рабочей базе лучше такого не делать, а использовать копию.
  • 🔥 17
  • ❤ 14
  • 🤝 4
  • 🥱 3
  • 😁 1
More from @interface31
  1. Oct 3, 2026Как узнать все смонтированные файловые системы? Раньше можно было сказать: загляните в /et…
  2. Oct 3, 2026Автоматический перезапуск Aspia в Docker Не так давно мы рассказывали, как запустить попул…
  3. Oct 3, 2026Post #6834
  4. Oct 2, 2026До первого сервис-пака не ставить На фоне некоторых коллег, которые бегут ставить свежий с…
  5. Oct 2, 2026Post #6832
  6. Oct 2, 2026Без лишнего шума и пыли вышла Aspia 3.0. Ключевые изменения в выжимке ниже: 1️⃣ Архитектур…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →