![]() |
![]() |
![]() |
|
Как грамотно создавать файл лога? | ☑ | ||
---|---|---|---|---|
0
1Снечег
28.07.07
✎
12:14
|
Так как поиск не работает, приходится спрашивать
Как более грамотно сделать сабж? |
|||
1
Злопчинский
28.07.07
✎
13:35
|
Лога чего?
|
|||
2
1Снечег
28.07.07
✎
14:25
|
лога выполнения обработки например
|
|||
3
Iron
28.07.07
✎
14:30
|
используй ЗаписьЖурналаРегистрации()
|
|||
4
alex_presnykov
28.07.07
✎
14:36
|
или создай dbf файл с нужной тебе структурой и заноси все туда...
|
|||
5
1Сергей
28.07.07
✎
14:47
|
я бы в ГБ создал процедурку:
Процедура ЗаписатьСтрокуВЛогФайл(ИмяФайла, строка) Экспорт хотя конечно тормозить будет |
|||
6
Механикус
28.07.07
✎
15:05
|
Ну вот простенький вариант:
Процедура ЛогФайл(ЛогТекст) перем ЛогФайлПуть; перем ЛогФайлИмя; перем ЛогФайл; Перем ЛогСтрока; ЛогФайлПуть = КаталогИБ() + "\log\"; Если фс.СуществуетФайл(ЛогФайлПуть)=0 Тогда ФС.СоздатьКаталог(ЛогФайлПуть); КонецЕсли; ЛогФайлИмя = "log.log"; ЛогФайл = ЛогФайлПуть + ЛогФайлИмя; ЛогСтрока = Строка(ТекущаяДата())+" "+Строка(ТекущееВремя())+" "+ИмяПользователя()+" "+СокрЛП(ЛогТекст); Если ФлагОтладка=1 Тогда Сообщить(ЛогСтрока); ИначеЕсли Найти(ЛогТекст, "ОШИБКА!!!") > 0 Тогда Сообщить(ЛогСтрока); КонецЕсли; попытка Т=СоздатьОбъект("Текст"); Если ФС.СуществуетФайл(ЛогФайл)=1 Тогда Т.Открыть(ЛогФайл); КонецЕсли; Т.ДобавитьСтроку(ЛогСтрока); Т.Записать(ЛогФайл); исключение сообщить(Строка(ТекущаяДата()) + " " + Строка(ТекущееВремя()) + " " + "Ошибка записи в логфайл " + ЛогФайл + ":" + логТекст); конецПопытки; КонецПроцедуры |
|||
7
1Сергей
28.07.07
✎
15:08
|
(6) работа замедлится в разы, если он будет писать по сотни строк в секунду
|
|||
8
Механикус
28.07.07
✎
15:14
|
(7) Ту поможет здравый смысл - сбасывать в лог разумную достаточность.
|
|||
9
Механикус
28.07.07
✎
15:14
|
сбрасывать :)
|
|||
10
1Сергей
28.07.07
✎
15:17
|
(9) Может всё-таки Создавать(Открывать) файл один раз, перед началом обработки?
|
|||
11
Злопчинский
28.07.07
✎
15:24
|
Вы все... бяки..
делается на раз: лог ведем посредством Сообщить() в табло. Потом все выведенное в табло - заливаем в файл. Таким же образом МОЖНО АВТОМАТОМ ВЕСТИ ЛОГИ допустим перепроведения доков - т.е. все что вывалилось за ночь в табло - забираем в файл. Смотреть сюда: (сам пользую и доволен) http://www.infostart.ru/projects/432/?&desc=1 // азначение: ВК ведет протокол всех сообщений, выводимых в окно сообщений 1С (включая системные), а также всех MessageBox'ов (Предупреждение, Вопрос, системные сообщения). Протокол может записываться в файл в формате csv, а также запоминаться в буфере в памяти. Также позволяет выборочно блокировать вывод сообщений взависимости от типа маркера. Полезно в ситуациях, когда пользователь не в состоянии прочитать вам сообщение об ошибке, выдаваемое 1С, или при разборах полетов, когда тот же пользователь с круглыми глазами говорит - "А программа меня никак не предупреждала". |
|||
12
1Сергей
28.07.07
✎
15:27
|
(11) для того лог и нужен, чтоб если 1С вылетела, то в какой момент... А какой смысл записывать лог после успешного завершения обработки?
|
|||
13
Злопчинский
28.07.07
✎
15:28
|
Нифига себе - а что, у вас 1Сина вылетает на дню по 15 раз в разных местах...?
тогда тут логи - не подмога... |
|||
14
1Сергей
28.07.07
✎
15:30
|
(13) у нас она не вылетает, и лог нам нафих не нужно и на работу я хожу только на мисте посидеть, да кофе попить :)
|
|||
15
1Снечег
28.07.07
✎
16:11
|
всем спасибо, остановился на варианте записывать в файл, который в принципе уже и так работал =)
за (3) спасибо, буду читать-разбираться.. зы: скорость не особо и важна, пишется на месяц-другой (надеюсь) |
|||
16
1Снечег
28.07.07
✎
16:11
|
(14) стремимся, стремимся.. =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |