Skip to content

Feature request: Make the core TEventLog.Log() virtual

Summary

The TEventLog class offers many methods that ultimately call the Log(EventType: TEventType; const Msg: String) procedure.

This is also stated in the documentation:

The other logging calls: Info, Warning, Error and Debug use the Log call to do the actual work.

Assuming that users may want to derive custom classes from the base implementation - e.g. to have a thread-safe logger that uses a critical section during log output -, it would be helpful if this procedure was declared virtual.

Currently the child class can implement a custom procedure (and also call the parent one), but the modified Log() won't get used by any of the other existing / inherited methods. I think a virtual 'core' Log() method could greatly reduce the effort required to implement a child class.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information