在拉撒路中使用TEventLog

时间:2013-09-25 09:40:04

标签: freepascal lazarus

据我所知,EventLog能够将异常消息写入磁盘上的日志。我已设法设置组件,但是当我将组件设置为活动状态并执行简单测试时:

eventlog.Debug('Application has started!');

我收到以下例外:

当事件日志处于活动状态时,不允许操作。

我做错了什么?如果我将RaiseExceptionOnError设置为true,我在日志中找不到异常。

请简单的样品使用会很棒!

2 个答案:

答案 0 :(得分:2)

最小工作样本:带有两个按钮和一个事件日志的表单。

代码(更改$ Username):

procedure TForm1.Button1Click(Sender: TObject);
begin
  EventLog1.LogType := ltFile;
  EventLog1.FileName := 'C:\users\$USERNAME\Desktop\Test.log';
  EventLog1.Active := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  EventLog1.Debug('This is a test.');
end;   

先单击Button1,然后单击Button2。玩得开心。

答案 1 :(得分:2)

如果您想自动记录例外情况,请查看http://wiki.freepascal.org/Logging_exceptions#Handling_exceptions