From what I have seen and used, log4net is one of the best tools out there for implementing logging (the best?)!
That said, we noticed something recently that is very interesting. Let’s say you have a service. You keep it running all of the time. You have implemented logging for it. You keep those logs on a separate server for whatever reason. For purposes of discussion the server the service is on is the “app server” and the server the logs are on is the “log server.”
When you reboot that log server, you might expect that when it comes back up, the logs will continue. For whatever reason, this is not the case. You have to restart the service to get the logs running again.
For this reason you may want to consider ALWAYS putting your logs with your application. If you decide otherwise, at least understand that this could be an issue. Otherwise you may be perplexed at why your service is running and sending email, but isn’t logging anymore.