Root > How to... > ...change EurekaLog's settings at run-time?

...change EurekaLog's settings at run-time?

Previous pageReturn to chapter overviewNext page   

EurekaLog options are represented by TEurekaModuleOptions class from EClasses unit.


Note: description of almost every option contains name of corresponding property of TEurekaModuleOptions class. For example:


1. "Save bug report to file" (.SaveLogFile) option enables saving...


This means that you can change this option at run-time by altering the .SaveLogFile property of TEurekaModuleOptions instance (see below).


If there is no mention of corresponding property - this means that:

this option can not be changed at run-time:
ooption affects only compilation - for example, stripping relocation tables, or encrypting injecting debug information;
ooption can not be changed after initial setup - for example, using low-level hooks, or installing memory manager filter to catch leaks;
option is changed by other means (for example, leaks and memory options are changed by routines in EMemLeaks unit; hang detection options are changed by routines in EFreeze unit).



Option 1

Assuming you have EurekaLog's exception information object (e.g. inside event handler) - you can use .Options property:


{ ... } AExceptionInfo: TEurekaExceptionInfo; { ... }
AExceptionInfo.Options.SaveLogFile := False;



Option 2

Global options are returned by CurrentEurekaLogOptions function from EModules unit:


  EModules; // for CurrentEurekaLogOptions
CurrentEurekaLogOptions.SaveLogFile := False;



Important Note: altering global options will not affect options of already raised exceptions. If you want to change options for a particular exception - obtain EurekaLog's exception information object for that exception and use .Options property (as shown in "option 1" above). E.g.:


procedure MyExceptionNotifyHandler(const ACustom: Pointer; 
  AExceptionInfo: TEurekaExceptionInfo; 
  var AHandle: Boolean; 
  var ACallNextHandler: Boolean);
  CurrentEurekaLogOptions.SaveLogFile := False; // <- this is wrong!
  AExceptionInfo.Options.SaveLogFile := False;  // <- correct!
  CurrentEurekaLogOptions.SaveLogFile := True; // <- correct!
  AExceptionInfo.Options.SaveLogFile := True;  // <- this is wrong!
  RegisterEventExceptionNotify(nil, MyExceptionNotifyHandler);



See also:

Send feedback... Build date: 2022-03-28
Last edited: 2022-01-17
The documentation team uses the feedback submitted to improve the EurekaLog documentation. We do not use your e-mail address for any other purpose. We will remove your e-mail address from our system after the issue you are reporting has been resolved. While we are working to resolve this issue, we may send you an e-mail message to request more information about your feedback. After the issues have been addressed, we may send you an email message to let you know that your feedback has been addressed.

Permanent link to this article: