I currently write all log4net events to a database, and it seems to work just fine. To capture the logged in user account I use this piece of code:
HttpConte
As of Log4Net version 1.2.11 you can now simply use the appender pattern to get the authorized user via the ASP .NET request e.g.
%aspnet-request{AUTH_USER}