There are times that we will need to get LogRecords by a date range.
If you are querying Log Records for a period of time you can do the same for Status Data. When searching for status data where a device and diagnostic are supplied in the search the status data values will be interpolated for the dates provided. Ie, if you search for the same period as the logs, you should have min of 1 records returned.
But most of the time, we will be using feeds.
I'm assuming here you mean you are getting Log Records via a data feed but not status data?
You could either get the required data through the Get request or have a feed of Status Data as well. If you are getting a feed of status data, the records for Position Valid, Ignition and Aux will come through the feed. This would be the more efficient approach used in conjunction with a LogRecord feed but may require a bit more logic in the application as the interpolation will not be taken care of for you.
What if there is no StatusData for each LogRecord?
The status data will be the state changes for these types of records, so the last known state is considered the current state. I think of them as a graph of all the state changes over time.