Включаємо технологічний журнал для 1с підприємство - записки it фахівця

Що таке технологічний журнал? Це власний формат логів 1С збирає всю інформацію про роботу встановлених на даному ПК додатках 1С: Підприємство. За замовчуванням технологічний журнал налаштований на збереження мінімальних дампов, що виникають при аварійному завершенні програми.

Однак, давайте чесно, багато хто з Новомосковскющіх дану статтю мають знання і досвід щоб працювати з дампами? А ті, хто все-таки вміють це робити, будуть цим займатися? Ні, тому що практичного сенсу в цьому трохи. Процитую В. Гильова:

У дампи можуть розібратися тільки розробники платформи! (Тільки у них вихідні :))

Тому відразу забуваємо про дампи і зосереджуємося на набагато більш простих і зрозумілих речах - балках. Для читання логів не потрібно мати специфічних знань, досить просто інженерного досвіду і загальних уявлень про роботу операційної системи і безпосередньо 1С: Підприємства.

платформа Windows

Для включення і налаштування технологічного журналу в середовищі Windows необхідно в папці C: \ Program Files (x86) \ 1cv8 \ conf створити спеціальний файл настройок logcfg.xml. У самому простому випадку він може виглядати так:

Розберемо структуру файлу докладніше:

  • log location - розташування файлів логу, зазначена директорія повинна існувати, і користувач від імені якого запускається 1С повинен мати право запису в неї.
  • history - час зберігання логів в годиннику, в нашому прикладі 168 годин дорівнює 7 діб або тижня.
  • event - таких секцій може бути багато, відповідають фіксується подій. В даному випадку фіксуються всі події.
  • property - визначає потрапляння в журнал властивостей подій. Конструкція property name = "all" включає записи в журнал всіх властивостей подій.

Ця установка може підійти для клієнтського додатка, однак спроба використовувати її на сервері призведе до різкого роздування логів і падіння продуктивності системи.

Тому налаштуємо журнал на отримання тільки потрібної нам інформації. Існують різні варіанти настройки технологічного журналу, в залежності від того, які саме події нас цікавлять. В першу чергу це нештатное поведінку платформи, яке може бути пов'язане з помилками конфігурації або неправильно вибрано параметр платформи. Фірма 1С рекомендує таку настройку журналу:

В даному прикладі фіксуються такі події:

  • PROC - події, що відносяться до процесу цілком і впливають на подальшу працездатність процесу. Наприклад, старт, завершення, аварійне завершення і т.п.
  • SCOM - події створення або видалення серверного контексту, звичайно пов'язаного з інформаційною базою.
  • CONN - установка або розрив клієнтського з'єднання з сервером.
  • EXCP - виняткові ситуації додатків системи 1С: Підприємство, які штатно не обробляються і можуть послужити причиною аварійного завершення серверного процесу або приєднаного до нього клієнтського процесу.
  • ADMIN - дії адміністратора кластера серверів системи 1С: Підприємство.
  • QERR - події, пов'язані з виявленням помилок компіляції запиту або обмеження на рівні записів і полів бази даних.

Цього набору цілком вистачає, для роботи над помилками в повсякденній діяльності адміністратора. З повним переліком налаштувань технологічного журналу з поясненнями і прикладами можна ознайомитися в розділі 3.17 Керівництва адміністратора (та сама товста жовта книжка, яку ніхто не Новомосковскет).

Для діагностики окремих ситуацій можна застосовувати і специфічні настройки журналу. Якщо ви використовуєте апаратні ключі, то в разі виникнення проблем з ними застосуєте таку настройку журналу:

Це дозволить фіксувати події звернення до ключів захисту в тому вигляді, в якому вони фіксуються системою захисту HASP, в той час як 1С підміняє їх своїми повідомленнями, типу "ключ захисту не виявлено", що володіють вкрай низькою інформативністю.

Отже, файл створений. Щоб події почали фіксуватися в журналі необхідно запустити клієнтську програму або перезапустити службу сервера. Після чого директорія з логами прийме приблизно такий вигляд:

Для прикладу наведемо ділянку балки:

Відразу видно, що система не може розпізнати ім'я сервера W81-TEST, можливо через проблеми в DNS. Як бачимо, логи цілком Новомосковскбельни і зрозумілі, що дозволяє осмислено підходити до розбору помилок, особливо в тих випадках, коли явного повідомлення про помилку не виводиться, скажемо не стартує процес сервера.

платформа Linux

Незважаючи на те, що ніяких відмінностей в налаштуванні технологічного журналу для різних платформ немає, в Linux є деякі особливості, пов'язані з архітектурою системи і не завжди очевидні початківцям.

Перш за все розташування файлу налаштувань. Він повинен знаходитися в /home/usr1cv8/.1cv8/1C/1cv8/conf. за замовчуванням дана директорія не існує і її потрібно буде створити. Також, якщо ви віддаєте перевагу графічні інструменти настройки, врахуйте, що директорія .1cv8 прихована (на це вказує точка на початку імені) і просто так в файловому менеджері ви її не побачите.

Ми вважаємо за краще роботу в консолі, як більш звичну і зручну для даної платформи. Тому створимо цю директорію:

а в ній файл настройок:

Змінимо рядок конфігураційного файлу logcfg.xml наступним чином:

Потім створимо папку для логів 1С

А щоб 1С могла писати туди, встановимо користувача і групу 1С власником цього каталогу:

Тепер перезапускаємо процес сервера 1С

і відзначаємо створення в директорії папок і файлів з балками.

Ця установка буде вести технологічний журнал сервера 1С, якщо вам потрібно фіксувати події клієнтського додатка, то слід виконати ряд додаткових дій.

Так як клієнтська платформа працює від імені запустив його користувача, то файли настройки платформи зберігаються в домашньому каталозі користувача. Якщо таких користувачів кілька, то у кожного з них буде свій варіант налаштувань. Структура каталогів при цьому повністю повторює серверну, що не дивно, у випадку з сервером налаштування зберігаються в каталозі службового користувача від імені якого працює сервер 1С.

Якщо подивитися цей каталог, то побачимо, що там крім папки conf, присутній також папка logs, в якій створюються папки для запущених процесів, однак самих балок там немає.

Включаємо технологічний журнал для 1с підприємство - записки it фахівця

Спроба використовувати для запису логів цю папку не приведе до успіху, папки процесів будуть створюватися, але логи з'являтися не будуть. Можна, звичайно, переналаштувати місце зберігання логів на будь-яку папку в домашній директорії, але краще продовжити використовувати для цього / var / log / 1C.

Щоб запущене від імені користувача додаток могло писати в цю папку треба надати йому відповідні права. Якщо ви єдиний користувач комп'ютера і серверної версії 1С у вас не встановлено, то можна просто зробити поточного користувача власником даної папки, якщо користувачів кілька, або на цьому ж ПК варто серверна частина і ви хочете включити журнал і для неї, то потрібно налаштувати спільний доступ .

Перш за все додамо потрібних користувачів в групу 1С:

Потім змінимо права на папку логів, щоб писати в неї міг не тільки власник, але і група:

Для застосування прав потрібно завершити сеанс користувача і увійти заново, після цього можна запустити клієнтську програму і переконатися, що в каталозі / var / log / 1C створюються необхідні папки логів.

Включаємо технологічний журнал для 1с підприємство - записки it фахівця