There's a login event that will let you know when a login has been completed. You can also look for login errors. Here's an article on the concept. Here's a more detailed approach (also, I trust Jason on this stuff). Finally, connection timeouts never make it to SQL Server, so you need another way to keep an eye on them. Here's an example. I hope this helps.
"The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood" - Theodore Roosevelt