Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.02.2018, 11:01   #1
tae1980
Участник клуба
 
Регистрация: 02.02.2009
Адрес: г. Саратов
Сообщений: 784
Репутация: 22
По умолчанию Формат файлов LGD

У меня есть проект который ведет логирование в своем формате. Не давно задумался об унификации формата лога с обще принятыми в настоящий момент. Анализ данных показал, что сейчас применяется формат LGD. Но вот его описания найти не смог. Так как это один из форматов для логирования баз данных решил написать сюда.
Если у кого есть описание формата, поделитесь.
Собственно интересна информация о любых форматах ЛОГ файлах.
__________________
С уважением, Алексей.

Последний раз редактировалось tae1980; 20.02.2018 в 11:19.
tae1980 вне форума   Ответить с цитированием
Старый 20.02.2018, 11:28   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,311
Репутация: 1868

icq: 216409213
По умолчанию

Это может быть, что угодно. Надо смотреть внутренности или хотя бы знать программу, какая его создает. Например, у 1С лог LGD это просто sqlite база.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 20.02.2018, 12:01   #3
tae1980
Участник клуба
 
Регистрация: 02.02.2009
Адрес: г. Саратов
Сообщений: 784
Репутация: 22
По умолчанию

Вот тут есть небольшое описание "Формат файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP"
Может я туповат, но хотелось бы больше информации. И не плохо бы получить образцы фалов.
По пока выяснил следующее, лог обычные текстовый файл каждая запись в котором (цитата):
1) Открывающей фигурной скобке "{ "в файле всегда предшествует символ новой строки;
2) Закрывающие фигурные скобки "}" не могут идти подряд – они всегда разделены символом новой строки;
3) Символ новой строки может встретиться внутри кавычек.
Таким образом отделить запись можно по следующим критериям
1) Первый символ – открывающая фигурная скобка "{";
2) Число открывающих фигурных скобок "{" равно числу закрывающих фигурных скобок "}";
3) Последний символ – закрывающая фигурная скобка "}";
4) Так же у правильной записи всегда будет четное число кавычек.

Но вот структура записи, в статье описана плохо. Есть описание полей, но нет описания функционала. Цитата:
Далее приведу значения элементов в записи:
1) Дата и время в формате "yyyyMMddHHmmss", легко превращается в дату функцией Дата();
2) Статус транзакции – может принимать четыре значения "N" – "Отсутствует", "U" – "Зафиксирована", "R" – "Не завершена" и "C" – "Отменена";
3) Транзакция в формате записи из двух элементов преобразованных в шестнадцатеричное число – первый – число секунд с 01.01.0001 00:00:00 умноженное на 10000, второй – номер транзакции;
4) Пользователь – указывается номер в массиве пользователей;
5) Компьютер – указывается номер в массиве компьютеров;
6) Приложение – указывается номер в массиве приложений;
7) Соединение – номер соединения;
8) Событие – указывается номер в массиве событий;
9) Важность – может принимать четыре значения – "I" – "Информация", "E" – "Ошибки",
"W" – "Предупреждения" и "N" – "Примечания";
10) Комментарий – любой текст в кавычках;
11) Метаданные – указывается номер в массиве метаданных;
12) Данные – самый хитрый элемент, содержащий вложенную запись;
13) Представление данных – текст в кавычках;
14) Сервер – указывается номер в массиве серверов;
15) Основной порт – указывается номер в массиве основных портов;
16) Вспомогательный порт – указывается номер в массиве вспомогательных портов;
17) Сеанс – номер сеанса;
18) Количество дополнительных метаданных, номера которых будут перечислены в следующих элементах записи. Именно 18-й элемент определяет длину записи, т.к. дальше будут следовать столько элементов сколько указано здесь + один последний, назначение которого пока не определено и обычно там "{0}". Возможно это просто маркер окончания записи. Так же есть идея что {0} похоже на пустой массив.

Мне как не опытному в базах данных, не понятно что такое "14) Сервер – указывается номер в массиве серверов;" или "16) Вспомогательный порт – указывается номер в массиве вспомогательных портов;". Как выглядят такие номера.
У нас есть "8) Событие – указывается номер в массиве событий;" Но нет информации об этом событии. Например, пользователь что добавил (аналог команды Insert), на восьмом месте мы поместили код события (КАКОЙ? Где списки кодов?), а где прописать данные которые были добавлены он добавил?
Пункт "12) Данные – самый хитрый элемент, содержащий вложенную запись;" вообще не понятно для чего нужен. В нем должны быть некие массивы, формат которых в общем описан. НО для чего они нужны?

Без сомнения у меня порядок и состав полей будет другой. Но общий стиль можно выдержать без проблем. Плохо что нет образцов файлов.
Пока точно изменю формат даты на ДДДДДД.СССССС, где
ДДДДД - количество полных дней (не включая текущий день), начиная от даты рождества Христова (Январь 1, 0001), включая её.
ССССС - число секунд, истёкших после полуночи
В таком виде упрощаться очень многие операции.
__________________
С уважением, Алексей.

Последний раз редактировалось tae1980; 20.02.2018 в 12:13.
tae1980 вне форума   Ответить с цитированием
Старый 20.02.2018, 12:08   #4
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,311
Репутация: 1868

icq: 216409213
По умолчанию

Все-таки 1С. Вы определитесь, то вам LGD нужен, то текстовые.

Цитата:
Мне как не опытному в базах данных, не понятно что такое "14) Сервер – указывается номер в массиве серверов;" или "16) Вспомогательный порт – указывается номер в массиве вспомогательных портов;".
Причем тут БД? Что именно не понятно? Есть массив серверов, например, 192.168.1.1, 192.168.1.2, 192.168.1.3 и номер 2 - вот и берется соотв.

Цитата:
Как выглядят такие номера.
Как числа? Вы машины на улице или дома как считаете?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 20.02.2018, 14:33   #5
tae1980
Участник клуба
 
Регистрация: 02.02.2009
Адрес: г. Саратов
Сообщений: 784
Репутация: 22
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Все-таки 1С. Вы определитесь, то вам LGD нужен, то текстовые.
А LGD бинарный формат? Ни где об этом нет.
Мне нужен текстовый формат.

Цитата:
Сообщение от p51x Посмотреть сообщение
Причем тут БД? Что именно не понятно? Есть массив серверов, например, 192.168.1.1, 192.168.1.2, 192.168.1.3 и номер 2 - вот и берется соотв.
То есть, по сути, IP адрес в локально сети. Так бы и писали...

Цитата:
Сообщение от p51x Посмотреть сообщение
Как числа? Вы машины на улице или дома как считаете?
Десятичные, шестнадцатеричные? А может вообще составные через разделитель, например 5-5.

В данному случае меня больше всего интересует "табличные данные". Каковы коды команд (Insert, select и т.п.), как прописываются переданные данные, да собственно любые данные (например заменяемые). Каково назначение массивов. Во общем все то что нужно для заполнения строк.

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

А у вас нет примеров таких логов? Очень бы помогли.
__________________
С уважением, Алексей.

Последний раз редактировалось tae1980; 20.02.2018 в 14:38.
tae1980 вне форума   Ответить с цитированием
Старый 20.02.2018, 14:47   #6
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,311
Репутация: 1868

icq: 216409213
По умолчанию

Цитата:
То есть, по сути, IP адрес в локально сети. Так бы и писали...
Нет. По сути индекс, номер элемента в массиве записей серверов.

Цитата:
Десятичные, шестнадцатеричные?
А глазами посмотреть?

Цитата:
В данному случае меня больше всего интересует "табличные данные". Каковы коды команд (Insert, select и т.п.), как прописываются переданные данные, да собственно любые данные (например заменяемые). Каково назначение массивов. Во общем все то что нужно для заполнения строк.
Отправили команду - посмотрели. Изменили данные - посмотрели... и т.д. Вот вам и словарь.

Цитата:
А у вас нет примеров таких логов? Очень бы помогли.
Т.е. вы еще и без системы гадаете на кофейной гуще? Нет, я не работаю с 1С. Да и если работал бы, то рабочие логи не дал бы.
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Старый 20.02.2018, 15:18   #7
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,595
Репутация: 6210
По умолчанию

Где-то в сети встречалась внешняя обработка для анализа логов, можно найти и подглядеть в код. Может и поможет. Товарищ сделавший её, насколько помню, тоже методом тыка изучал устройство лога. Сомнительно, что удастся сделать что-то приемлемое для восстановления базы таким кустарным способом
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 20.02.2018 в 15:21.
Аватар на форуме   Ответить с цитированием
Старый 20.02.2018, 16:13   #8
tae1980
Участник клуба
 
Регистрация: 02.02.2009
Адрес: г. Саратов
Сообщений: 784
Репутация: 22
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
Нет. По сути индекс, номер элемента в массиве записей серверов.
Не суть важно, да и практичнее будет либо вести отдельную таблицу машин, либо хранить IP адрес полностью, так сети могует быть много ранговые, а так же могут поступать внешние запросы.

Цитата:
Сообщение от p51x Посмотреть сообщение
А глазами посмотреть?
Отправили команду - посмотрели. Изменили данные - посмотрели... и т.д. Вот вам и словарь.
Т.е. вы еще и без системы гадаете на кофейной гуще? Нет, я не работаю с 1С. Да и если работал бы, то рабочие логи не дал бы.
Так об этом я ещё в первом письме написал....
У меня самостоятельный проект и нужна система логирования и ведения журналов для него. На компе нет ни как их баз данных и у меня нулевой опыт работы с ними. Приходиться работать наощуп.
Системы логирования, описание которые мне удалось найти, использоваться не только 1С, но и ряде других (а скорее всего всеми) баз данных. Если систем логирования несколько, меня интересует любая из них, а лучше все.
__________________
С уважением, Алексей.

Последний раз редактировалось tae1980; 20.02.2018 в 18:12.
tae1980 вне форума   Ответить с цитированием
Старый 20.02.2018, 16:24   #9
tae1980
Участник клуба
 
Регистрация: 02.02.2009
Адрес: г. Саратов
Сообщений: 784
Репутация: 22
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Где-то в сети встречалась внешняя обработка для анализа логов, можно найти и подглядеть в код. Может и поможет. Товарищ сделавший её, насколько помню, тоже методом тыка изучал устройство лога. Сомнительно, что удастся сделать что-то приемлемое для восстановления базы таким кустарным способом
Выше приводил ссылку на статью, у её автора есть продолжение, где он разработал некий просмотощик логов. Но в сопроводительном материале только вода. А сам код написан, как я понял, под 1С, то есть просмотреть я его скорее не могу, так он во внутреннем формате. Да и скачать ни чего с сайта не смог. Он просит ввести почтовый адрес для высылки материала или ссылки на него, а вот реакция на копку "отправить" отсутствует.
Если возьмете на себя труд, попробовать скачать материал, буду благодарен.
__________________
С уважением, Алексей.
tae1980 вне форума   Ответить с цитированием
Старый 20.02.2018, 17:06   #10
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,311
Репутация: 1868

icq: 216409213
По умолчанию

Нет никакой одной-двух стандартный или самых правильных систем логирования. Каждый делает под себя и свою задачу. В большинстве даже БД нет, а просто текстовой файл, типа:
дата_время уровень(ошибка, предупреждение, .. ) что-то написано

Есть вариант с выплевыванием стектрейса, есть БДшные журналы для восстановления и отката транзакция, ...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x на форуме   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите с настройкой простой программы конвертации текстовых файлов (210) в xls формат бухарик Помощь студентам 25 08.02.2018 16:28
Формат файлов CVD (Clam Antivirus) FLASH_MAN Безопасность, Шифрование 3 27.04.2012 14:44
Неизвестный формат файлов. Go.away.noir Свободное общение 7 08.09.2009 11:19
прорулить формат файлов gz paulus Общие вопросы C/C++ 0 25.11.2008 20:19


21:04.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru