Question

Je veux voir à propos de la journalisation des événements d'une application Delphi 5 dans le journal Windows et d'un autre poste je vois que je peux utiliser la classe TEventLogger pour le faire.

Cependant, je ne peux trouver aucune documentation sur la syntaxe de la procédure de TEventLogger.LogMessage, donc je ne sais pas ce que tous les paramètres signifient, comment les utiliser, ou même quelles sont les valeurs possibles sont disponibles.

Je l'ai essayé de regarder autour, et tout ce que je trouve une page de Embarcadero indiquant que la fonction existe, mais rien sur sa syntaxe et MSDN est d'aucune aide que je ne peux trouver la version BizTalk qui me fait rien de bon.

Quelqu'un at-il une page d'aide ou des informations sur ce qui pourrait faire la lumière sur ce que je peux faire?

Était-ce utile?

La solution

TEventLogger est une classe d'aide interne pour TService.

Vous n'êtes pas connecté message en utilisant la fonction TService.LogMessage(), pas en appelant TEventLogger directement. Les paramètres de LogMessage() correspondent directement avec les paramètres de l'API Win32 ReportEvent() fonction .

Regardez dans la documentation de l'API Win32 pour plus de détails.

Si vous n'êtes pas en train d'écrire une application de service, alors vous devez appeler l'API Win32 RegisterEventSource() et ReportEvent() fonctions directement à la place.

Autres conseils

Un exemple simple d'une application écrit au journal des événements:

procedure WriteToLog(Msg:string; EventId: Word = 0);
var
  h: THandle;
begin
  h := RegisterEventSource(nil, PChar(Application.ExeName));
  if h > 0 then
  try
    ReportEvent(h, 0, 0, EventId, nil, 1, 0, @Msg, nil);
  finally
    DeregisterEventSource(h);
  end;
end;

procedure TForm7.Button1Click(Sender: TObject);
begin
  WriteToLog('* Blah Blah Blah *');
end;

Mais méfiez-vous pas l'enregistrement eventId avec le système donnera ce genre de confusion description:

  

La description pour l'ID d'événement (0) dans la source (C: \ Documents and   Settings \ fgaillard \ Mes documents \ RAD Studio \ Projects \ Project1.exe)   ne peut être trouvé. L'ordinateur local peut ne pas avoir le nécessaire   Informations du Registre ou les fichiers DLL de message pour afficher les messages d'un   ordinateur distant. Vous pourrez peut-être utiliser le / AUXSOURCE = pour   récupérer cette description; voir Aide et support pour plus de détails. le   informations suivantes font partie de l'événement. * blablabla *

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top