I am desiging a log system for my program and I need to know when any transaction in my system commits or rollsback. Since I open my connection from one place and also begin transactions from one place I have 'BEGIN TRANSACTION' covered but rollback I cannot get.
Mind you that I am in full control of opening and comminting transaction and I could easily log it there but I don't think this is good design since from that point onward programmer would have to worry about logging each commit or rollback!
Besides implementing my own IConnection and IDbTransaction what would be the best solution?