There are SP's and other ways to list some info about what's happening right now in the database, but I can't find anything about what happened earlier.
Maybe a log explorer tool could help with some parts.
Under Management -> Current Activity, will give you some information. You can also enable successful/failed login auditing - this is probably what you will need to enable as well as using sql profiler.
SQL profiler is the best tool for this - but you can also use auditing under the sql server properties -> security -> "Audit Level". Under SQL Profiler - Create a trace -> Events - you will see several auditing choices.
I ended up creating a custom trace template in Profiler and create my trace files based on it.
It's not awe-inspiring, but it's the only solution I've come across so far without looking at purchasing some kind of 3rd party log-miner/auditing software.