![]() |
|
Запись лога в файл на клиенте параллельно с выполнением на сервере | ☑ | ||
---|---|---|---|---|
0
SeiOkami
20.01.20
✎
09:34
|
Добрый день.
Подскажите, как лучше всего сделать запись лога в файл параллельно с выполнением. Есть обработка. Она создаёт документы в фоновом задании, на форме самой обработки крутится обработчик ожидания, который постоянно опрашивает фоновое. Хочу писать лог из фонового задания в файл на клиентской машине. Загвоздка в том, что писать нужно параллельно с выполнением. То есть, если сеанс вдруг упадёт, то в логе должен быть лог до падения. Можно было бы писать при помощи ЗаписьТекста, но нужно записывать в таком формате, чтобы этот файл можно было бы программно преобразовать в таблицу лога. То бишь, это должен быть или ЗначениеВСтрокуВнутр или XML или JSON. Чтобы потом нормально данные прочитать и вывести в отчёт Какой объект платформы можно для этого использовать? |
|||
1
Конструктор1С
20.01.20
✎
09:41
|
Кури метод БСП ДлительныеОперации.СообщитьПрогресс(), у него есть параметр, в который можно передать примитивное значение. В частности, можно сериализовать нужные тебе данные в XML и протащить через этот параметр
|
|||
2
Конструктор1С
20.01.20
✎
09:42
|
||||
3
SeiOkami
20.01.20
✎
09:43
|
(1), приведённый тобой метод поможет передать инфу из сервера на клиент, но загвоздка именно в том, как потом эту инфу записывать в файл лога
|
|||
4
ezhikofff
20.01.20
✎
09:46
|
(0) зачем писать лог именно на клиенте? можно же писать на сервере в сетевую папку, доступную клиентам...не?
На сервере можно писать лог сразу в табличный документ |
|||
5
ДенисЧ
20.01.20
✎
09:47
|
В базу данных пиши каждый чих с фиксированием транзакции
|
|||
6
SeiOkami
20.01.20
✎
09:48
|
(4), нужно именно писать на клиенте
|
|||
7
Конструктор1С
20.01.20
✎
10:14
|
(3) в клиентском методе складывай в коллекцию значений, а потом закинешь в файл
|
|||
8
Cyberhawk
20.01.20
✎
10:16
|
(7) Клиент упал и лога нет
|
|||
9
Cyberhawk
20.01.20
✎
10:16
|
А какие проблемы с ЗаписьТекста?
|
|||
10
Cyberhawk
20.01.20
✎
10:17
|
(4) "писать на сервере в сетевую папку, доступную клиентам...не?" // Неуниверсально. Никакой общей папки, доступной рабочему процессу, может и не быть
|
|||
11
Конструктор1С
20.01.20
✎
10:26
|
(8) ага, свет рубанут и каюк
|
|||
12
SeiOkami
20.01.20
✎
10:33
|
(9), просто нужно не просто строчки для пользователя писать, а данные, которые потом можно сериализовать в 1Сные и в отчете вывести.
Например, каждая строка лога - это структура с свойствами "Дата,Документ,ОписаниеОшибки". |
|||
13
SeiOkami
20.01.20
✎
10:33
|
пока что вижу только один вариант - писать всё в текстовый файл при помощи ЗаписьТекста. и вставлять всякую заранее заготовленную безумную строку, чтобы потом по ней разбивать элементы. Тип "балблаблаздесьразделительстрок"
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |