Oh, good idea :)
Reading your suggestions, it sounds like you're trying to weave into the try/catch handling in T-SQL, correct? Probably using the CLR (option #3) is best IMHO simply because #1 could be tricky with transaction rollbacks.
I was excited reading this in my email because I read your first sentence and assumed (incorrectly) that you wanted the SQL Server log itself to find its way into Seq. For me that'd be gold as a bunch of issues on our client sites are to do with SQL Server running out of space or being generally cranky (for good reasons) - too many use full recovery on databases but misconfigure transaction log backups, etc. The logs show that sort of thing nicely.
Back on topic...
IIRC, the CLR in SQL Server is a fairly hostile environment as far as background threads are concerned, but perhaps using Serilog and a custom sink that doesn't batch things - so it doesn't need a background thread - could do the trick.
Sorry I don't have an answer but I'll watch this thread with interest