лог в файл в многопоточном приложении

  • Автор темы Limb
  • Дата начала
Статус
Закрыто для дальнейших ответов.
L

Limb

#1
есть многопоточное приложение, которое в настоящий момент находится в стадии отладки и интенсивно пишет в файл логи
подскажите плиз, какой из способов синхронизации доступа к файлу будет эффективнее?
я использую критическую секцию, но мне кажется что работает медленно, вот код, который пишет в файл:
procedure LogFile_(Msg:String);
begin
if(Log_FileName = '')then exit;
if not Assigned(LogCS) then LogCS:=TCriticalSection.Create;
LogCS.Enter;
{$I-}
try
AssignFile(Log_FileHandle, Log_FileName);
Append(Log_FileHandle);
if(IOResult <> 0)then Rewrite(Log_FileHandle);
if(IOResult = 0)then WriteLn(Log_FileHandle,
MyTimeToStr(GetTime())+' ThrID:'+IntToStr(GetCurrentThreadID())+' '+Msg);
CloseFile(Log_FileHandle);
finally LogCS.Leave;
end;
{$I+}
end;

может быть вообще стоит отказаться от файлов? правда если писать в eventlog, потом смотреть неудобно - чтоб посмотреть description на каждую запись кликать надо
 
Статус
Закрыто для дальнейших ответов.