Главная страница
    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-1255863244
POOP
2009-10-18 14:54
2009.12.13
Если в bat файле


11-1208885318
=BuckLr=
2008-04-22 21:28
2009.12.13
LZO, чтоб его...


2-1256194244
kyn66
2009-10-22 10:50
2009.12.13
Цвет строк в многострочном GridEh


4-1224767519
Trible
2008-10-23 17:11
2009.12.13
Помогите с HCBT_CREATEWND


15-1255362228
Alexio
2009-10-12 19:43
2009.12.13
Ошибки страниц





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский