Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
15-1255816936
POOP
2009-10-18 02:02
2009.12.13
Помогите с Latex


1-1228552121
Andrew_New
2008-12-06 11:28
2009.12.13
TDBLookupCombobixEh как сделать толще полосу прокрутки в выпадающ


2-1254770157
laari
2009-10-05 23:15
2009.12.13
Delphi+dbf. Определение пути к файлам базы.


2-1256104735
Qwerg_ntgl
2009-10-21 09:58
2009.12.13
Загрузка в DbGrid в PickList из текстового файла


2-1255265933
Alexei
2009-10-11 16:58
2009.12.13
Работа с SynMemo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский