Архив исходников программ, модулей и компонентов на Delphi


Начальная страница

Поиск по базе



Операционная система
Настройка приложения
Взаимодействия приложений
Файлы и директории
Строки и символы
Математика
Базы данных
Интернет и сеть
Мультимедиа
Аппаратная часть
VCL
Другие разделы [0]
 

Количество записей в базе - 537
Сегодня добавлено – 0

Ini-, Log- и др. спецфайлы



Вернуться к списку функций
 Ведение журнала в многопоточных приложениях

 Прислал: panov (Санкт-Петербург) ( 23 ноября 2004 г. )
©  panov
 Описание:
Потокобезопасный класс для эффективной записи в файл-протокол.
Создается потокобезопасная очередь, состоящая из строк, готовых для записи в файл журнала.
Отдельный поток выбирает сообщения из очереди, записывает в файл на диск.
При превышении максимального размера лога, он переносится в архивный каталог и создается новый файл-протокол.

 Зависимости:
Windows, Classes, SysUtils

 Ограничения:
Точно работает в W2000, компилировано на D6.

 Исходный текст:
{ **** UBPFD *********** by http://kladovka.net.ru/delphibase/ ****
>> Ведение журнала в многопоточных приложениях

Потокобезопасный класс для эффективной записи в файл-протокол.
Создается потокобезопасная очередь, состоящая из строк, готовых для записи в файл журнала.
Отдельный поток выбирает сообщения из очереди, записывает в файл на диск.
При превышении максимального размера лога, он переносится в архивный каталог и создается новый файл-протокол.

Зависимости: Windows, Classes, SysUtils
Автор:       panov, panov@mail.ru, Санкт-Петербург
Copyright:   panov
Дата:        23 ноября 2004 г.
***************************************************************** }

Полный текст всех модулей находится по адресу http://delphibase.spb.ru/download/threadlog.zip

 Пример использования:
var
  ttl: TThreadLog;

...

// Вести журнал в каталоге программы
// архивы записывать в <каталог программы>\archive,
// максимальный размер журнала - 8Мб

  ttl := TThreadLog.CreateDefault; //Все параметры по умолчанию

//Здесь можно назначить процедуру обработки ошибок
// ttl.OnError :=

  ttl.Start;

---------
  или
---------

// Вести журнал в каталоге d:\Logs,
// архивы записывать в d:\Archivelogs,
// максимальный размер журнала - 20Мб

  ttl := TThreadLog.Create('d:\Logs','d:\Archivelogs',20;

//Здесь можно назначить процедуру обработки ошибок
// ttl.OnError :=

  ttl.Start;


Вернуться к списку функций

Наверх ▲