The standard way of making untestable items like this (non-virtual) work is by using a wrapper. Here is some pseducode of the idea:
WrapperEventLogRecord : IEventLogRecordWrapper
{
ctor(EventLogRecord eventLogRecord)
public ActivityId {get{return _eventLogRecord.ActivityId;}}
}
Now you can pass in the interface and mock it out as necessary