Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Логирование (журналирование) в текстовый файл (число прочтений - 1781 )
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Логирование (журналирование) в текстовый файл
21. Мая 2019 :: 18:02
Печать  
Здравствуйте!

Нужно сделать, чтобы из 1С выводились "внутренние" информационные и отладочные сообщения во внешний текстовый файл: логирование (или журналирование) работы программы.

Типа:
Код (C++)
Выбрать все
   Лог = СоздатьОбъект("Лог");
   Лог.Инфо("Запускается процедура Док.Записать()");
   Лог.Отладка("Док.Записать() выполнена успешно");
 



Какие есть для этого возможности в 1С++ и в 1С?

Есть ли какой-то готовый класс для этого?
Можно ли подключить готовые библиотеки типа log4net (https://logging.apache.org/log4net/) или NLog (https://nlog-project.org/)?
Может есть еще какие-то готовые библиотеки, которые можно подключить к 1С?

Подскажите, пожалуйста.
  
Наверх
ICQ  
IP записан
 
АЛьФ
FormEx developer
1c++ developer
Отсутствует



Сообщений: 1538
Местоположение: Санкт-Петербург
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Логирование (журналирование) в текстовый файл
Ответ #1 - 21. Мая 2019 :: 18:50
Печать  
А чем не устраивает ЗаписьЖурналаРегистрации?
  

FormEx developer
Наверх
www  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Логирование (журналирование) в текстовый файл
Ответ #2 - 22. Мая 2019 :: 10:48
Печать  
Текстовые логи пишу так:
Данные = СоздатьОбъект("Binarydata");
Если Данные.ПодключитьсяКФайлу(ПутьКФайлу, 2, 2) = 1 Тогда  //только запись
     Данные.Перейти(0, 2); //в конец
     Данные.ЗаписатьСтроку(Стр);
     Данные.Закрыть();
КонецЕсли;
  

1&&2&&3
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Логирование (журналирование) в текстовый файл
Ответ #3 - 23. Мая 2019 :: 06:14
Печать  
trad писал(а) 22. Мая 2019 :: 10:48:
Текстовые логи пишу так:
Данные = СоздатьОбъект("Binarydata");
...


Я сейчас тоже так делаю.
Но кое-что не удобно. Приходится много писать дополнительного кода.
Хорошо бы что-то готовое.
  
Наверх
ICQ  
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Логирование (журналирование) в текстовый файл
Ответ #4 - 23. Мая 2019 :: 06:15
Печать  
trad писал(а) 22. Мая 2019 :: 10:48:
Текстовые логи пишу так:
Данные = СоздатьОбъект("Binarydata");
Если Данные.ПодключитьсяКФайлу(ПутьКФайлу, 2, 2) = 1 Тогда  //только запись
     ...
     Данные.Закрыть();
КонецЕсли;


А файл ты закрываешь после записи каждой строки?
Почему?
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Логирование (журналирование) в текстовый файл
Ответ #5 - 23. Мая 2019 :: 07:27
Печать  
закрываю после сеанса записи
  

1&&2&&3
Наверх
 
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Логирование (журналирование) в текстовый файл
Ответ #6 - 23. Мая 2019 :: 07:34
Печать  
Если сеанс записи состоит из одной строки, то да после одной строки.

Тут надо понимать, какой лог пишем, многопользовательский или однопользовательский.
Если какой-то алгоритм гарантированно запущенный в единственном экземпляре (например обмен какой-нить), то конечно: открыл - написал кучу строк - закрыл.
А если логирование многопользовательское (например неких действий юзеров), то как иначе?, залочил файл - кинул порцию свою - освободил
  

1&&2&&3
Наверх
 
IP записан
 
es3000
God Member
*****
Отсутствует



Сообщений: 536
Зарегистрирован: 10. Июля 2006
Re: Логирование (журналирование) в текстовый файл
Ответ #7 - 24. Мая 2019 :: 13:21
Печать  
Все равно самописка есть самописка.

Есть же готовые библиотеки, у которых возможности гораздо шире.
Можно ли их подключить?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать