Текущий архив: 2009.12.13;
Скачать: CL | DM;
ВнизВыгрузка сообщений об ошибках в текстовый файл Найти похожие ветки
← →
grav © (2009-10-23 11:35) [0]Гружу данные в базу. Хочу сообщения об ошибках выгружать в текстовый файл.
Создал список
ErrorList:= TStringList.Create;
и гружу в него
try
...
except
ErrorList.Append(...);
end;
ErrorList.SaveToFile("error.log");
В итоге в файле только последняя ошибка. Что не так делаю?
Спасибо!
← →
brother © (2009-10-23 11:40) [1]> ErrorList.Append(...);
это заменить а надо:
ErrorList.Add(...);
← →
И. Павел © (2009-10-23 11:41) [2]Элементарный код:
SL:=TStringList.Create;
SL.Clear;
SL.Append("123");
SL.Append("456");
SL.SaveToFile("C:\str.txt");
пишет в файл две строки, так что ваша ошибка, наверное, в том коде, который вы заменили многоточием.
← →
brother © (2009-10-23 11:42) [3]> это заменить а надо:
читать как:
это если необходимо заменить, а тебе надо добавить
← →
И. Павел © (2009-10-23 11:56) [4]
try
...
except
ErrorList.Append(...);
end;
ErrorList.SaveToFile("error.log");
Судя по коду, можно подумать что автор вызывает его несколько раз и ждет, чтобы очередной Save добавил строчки к предыдущему. Нужно сначала выполнить все Append/Add, а затем, в самом конце, вызвать SaveToFile.
← →
grav © (2009-10-23 12:06) [5]
> И. Павел © (23.10.09 11:56) [4]
Вот таких многоtry
...
except
ErrorList.Append(...);
end;
Такая строчка одна в конце загрузки.ErrorList.SaveToFile("error.log");
Точнее вот так:try
...
except
ErrorList.Append(E.Message);
ErrorList.Assign(LoadQr.SQL);
end;
Может Assign виноват?
← →
grav © (2009-10-23 12:35) [6]точно, затирает все ErrorList.Assign.
буду текст запроса писать так
ErrorList.Add(LoadQr.SQL.text);
Вот только большие запросы наверное не получиться так записать
← →
grav © (2009-10-23 13:50) [7]Новая напасть. Out of Memory
Какой объем можно запихнуть в TStringList?
← →
RWolf © (2009-10-23 13:57) [8]ну, гигабайта два, полагаю (не проверял).
← →
RWolf © (2009-10-23 13:58) [9]вообще, что это за дикий способ ведения лога?
← →
grav © (2009-10-23 14:02) [10]
> RWolf © (23.10.09 13:58) [9]
Научите пожалуйста как лог писать.
Грузятся в базу данные из XML файла, всего 45 таблиц.
После каждого insert пытаюсь выгрузить ошибки и sql запрос в файл.
Как правильно это реализовать?
← →
RWolf © (2009-10-23 14:06) [11]обсуждение: http://delphimaster.net/view/2-1255442299/
← →
grav © (2009-10-23 15:04) [12]
> RWolf © (23.10.09 14:06) [11]
Спасибо за ссылку, изучаю. И действительно, чего мне сразу в файл не писалось.
← →
Игорь Шевченко © (2009-10-23 15:12) [13]
> вообще, что это за дикий способ ведения лога?
Я бы не стал так категорично утверждать.
В ряде проектов я использую именно такой способ (заполнение TStrings), так как потом этот протокол можно перенаправить сразу в три места, на экран, в базу данных и в письмо с сообщением об ошибке.
← →
RWolf © (2009-10-23 15:42) [14]
> Игорь Шевченко
Согласен, если контролировать размер списка и вовремя удалять старые записи — проблем нет.
Страницы: 1 вся ветка
Текущий архив: 2009.12.13;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.006 c