Use a logging facade for logging.

May 19, 2014 at 1:24 PM
Currently you use log4net directly for your logging purposes. This might be quite annoying for people who do not actually use log4net (maybe they use NLog instead). This forces people to have both NLog and log4net in their projets.

A good solution for this problem is to use a logging facade. Such libraries act like an abstraction layer for different logging frameworks. You just log against those libraries and they use the configured logging framework under the hood.

Maybe you want to consider moving to such a library for SuperSocket.

Here are some logging facades:

Common.Logging - https://github.com/net-commons/common-logging (recommendation)
SLF4Net - https://github.com/englishtown/slf4net
Ninject Logging - https://github.com/ninject/ninject.extensions.logging
May 19, 2014 at 4:51 PM
SuperSocke's logging is already replaceable, but log4net is still be built-in for convenience.
http://docs.supersocket.net/v1-6/en-US/Logging-in-SuperSocket

I also considered remove the dependency of log4net completely from SuperSocket in next release. There will be more projects will be introduced:
SuperSocket.Logging
SuperSocket.Log4Net

I also tried to use Common.Logging but it cannot satisfy the requirement of SuperSocket, because the issue below:
https://github.com/net-commons/common-logging/issues/8
May 21, 2014 at 9:49 AM
Damn, looks like I was too fast opening this discussion. I Should have checked the source first. Thanks for the hint.