I used to use my own custom, entlib, log4net and then Elmah
For asp.net error reporting Elmah is head and shoulders above the rest. However a couple of things I would like to see improved is the filtering and maybe a daily digest of email rather than one email per error.
If you want to inject logging, warns, debugs, traces etc then I would opt for log4net.
However it depends on the type of logging you are after...