Запись в log-файлФункция позволяет записать строку в конец текстового файла (например, журнала ошибок), не считывая его в память целиком. Использует Scripting.FileSystemObject. | | Автор статьи: romix | Редакторы: Последняя редакция №3 от 18.07.13 | История URL: http://kb.mista.ru/article.php?id=834 | |
Ключевые слова: текстовый файл, лог, журнал
//======================================================================
Функция ЗаписьВЛог(прм_Строка)
ИмяФайла=стрПуть+"log.txt";
Если фс.СуществуетФайл(ИмяФайла)=0 Тогда
fso=СоздатьОбъект("Scripting.FileSystemObject");
file=fso.CreateTextFile(ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
file.WriteLine(прм_Строка);
file.Close();
Иначе
fso=СоздатьОбъект("Scripting.FileSystemObject");
file=fso.OpenTextFile(ИмяФайла, 8, 0); //дополнить файл
file.WriteLine(прм_Строка);
file.Close();
КонецЕсли;
КонецФункции // ЗаписьВЛог
Для 1С:Предприятие версии 8.x объекты нужно создавать иначе:
fso=Новый COMОбъект("Scripting.FileSystemObject")
Пример кода для 1С:Предприятие 8.2:
fso=Новый COMОбъект("Scripting.FileSystemObject");
Если Не fso.FileExists(ИмяФайла) Тогда
file=fso.CreateTextFile(ИмяФайла, -1, 0); //создать файл, перезаписывая существующий.
file.WriteLine(прм_Строка);
file.Close();
Иначе
file=fso.OpenTextFile(ИмяФайла, 8, 0); //дополнить файл
file.WriteLine(прм_Строка);
file.Close();
КонецЕсли;
Штатный вариант - отваливается при просмотре лога в FAR:
Текст = Новый ЗаписьТекста(имяф, КодировкаТекста.ANSI,,Истина);
Текст.ЗаписатьСтроку(прм_стр);
Текст.Закрыть();
(можно использовать для оперативного прерывания каких-нибудь обработок). |