Extraido do Dicas e Truques de Delphi v.2.7:

637 - Função para gerar Log de Erros
function SaveLogError(Const AUnitError, ASimbolError, ADescription, ATypeError, 
ASQLError, AInsError: string): integer;
var
  VMemory: TMemoryStatus;
  VLogFile: TextFile;
  VLogFileName: string;
  vcount : Integer;
begin
  VMemory.dwLength := SizeOf(TMemoryStatus);
  GlobalMemoryStatus(VMemory);
  VLogFileName := format('%spdferror.log',[GPathFile]);
  try
  AssignFile(VLogFile,VLogFileName);
  if FileExists(VLogFileName) then
  begin
  Append(VLogFile);
  Writeln(VLogFile,'');
Writeln(VLogFile,'--------------------------------------------------------------');
  Writeln(VLogFile,'');
  end
  else
  begin
  Rewrite(VLogFile);
  Writeln(VLogFile,'CABTEC - Soluções em códigos de barras');
  Writeln(VLogFile,format('Fone %s - E-Mail: [EMAIL 
PROTECTED]','(0xx31)3295-0555']));
  Writeln(VLogFile,'Rua Araguari, nº 358/16º andar - Barro Preto');
  Writeln(VLogFile,'20190-110 - Belo Horizonte - MG');
Writeln(VLogFile,'==============================================================');
  Writeln(VLogFile,'');
  end;
  Writeln(VLogFile,format('DATE/TIME............: %s',[DateTimeToStr(Now)]));
  Writeln(VLogFile,format('Unit Error...........: %s',[AUnitError]));
  Writeln(VLogFile,format('Call Symbol..........: %s',[ASimbolError]));
  Writeln(VLogFile,format('Error type...........: %s',[ATypeError]));
  Writeln(VLogFile,format('Description..........: %s',[ADescription]));
  Writeln(VLogFile,format('SQL Error............: %s',[ASQLError]));
  Writeln(VLogFile,format('Instruction error....: %s',[AInsError]));
  Writeln(VLogFile,'');
  Writeln(VLogFile,format('Memory free..........: %.0f 
bytes',[(VMemory.dwAvailPhys / 1024)])); // bytes livres de memória física
  Writeln(VLogFile,format('Total PageFile.......: %.0f
bytes',[(VMemory.dwTotalPageFile / 1024)])); // bytes livres de paginação de 
arquivo // bytes de paginação de arquivo
  Writeln(VLogFile,format('Avail PageFile.......: %.0f
bytes',[(VMemory.dwAvailPageFile / 1024)])); // bytes em uso de espaço de 
endereço
  Writeln(VLogFile,format('Total Virtual .......: %.0f
bytes',[(VMemory.dwTotalVirtual / 1024)]));
  Writeln(VLogFile,format('Avail virtual free...: %.0f
bytes',[(VMemory.dwAvailVirtual / 1024)])); // bytes livres
  CloseFile(VLogFile);
  result := IOResult;
  except
  result := IOResult;
  result := -1;
  end;
end;
para chamá-la faça assim:

try
Post;
result := True;
except
on E: Exception do
begin
SaveLogError('Unit_nota','function TForm_Nota.SetSaveItensData: boolean', 
E.Message, E.ClassName, '', 'Post');
Application.MessageBox('Ocorreu um erro ao gravar os dados na tabela de 
ITENS!',CCAPTIONAPPLICATIONTITLE,mb_Ok + mb_IconStop + mb_DefButton1 + 
mb_applmodal);
Cancel;
result := False;
break;
end;
end;

Basta adaptar as suas necessidades.

Espero que seja útil.

Atte,
Ricardo.

Doretto <[EMAIL PROTECTED]> escreveu:                               Uso delphi5 
e gostaria de registrar os erros de Sistema em um arquivo texto.
 
 Como eu faria isto ?
 
 Doretto
 
 [As partes desta mensagem que não continham texto foram removidas]
 
 
     
             _



       
---------------------------------
Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! 

[As partes desta mensagem que não continham texto foram removidas]

Responder a