I know you asked about reading log files but I there are better strategies for dealing with slowly changing dimensions.
If you have the Enterprise Edition of SQL Server then you can use Change Data Capture. It needs to be set up on the database and tables beforehand but will then track inserts, updates and deletes.
You can use the lighter-weight Change Tracking.
Microsoft have published a comparison of Change Data Capture and Change Tracking.
You can use a
rowversion column to implement high-watermark tracking. The nightly process records the current highest rowversion then queries the table for all rows with the rowversion greater than last night's highest value. This is for inserts and updates. If you wish to track deletes then you need to write delete triggers that change a "deleted" flag.
You can use triggers on the tables that copy the inserted, updated and deleted data into tracking tables. The nightly process reads then empties these tracking tables. As an aside, this is similar to how merge replication and updating-subscriber transactional replication work.
All of these methods require modification to the source database objects. I'm guessing from your question that this might not be a possibility. If that's the case, see VonPryz' answer.