I use Ninject as a DI Container in my application. In order to loosely couple to my logging library, I use an interface like this:
public interface ILogger
Bind().ToMethod(x => LogManager.GetLogger(GetParentTypeName(x))) .InSingletonScope();
You are currently binding in Singleton scope, so only one logger is created which will use the name of the first one created. Instead use InTransientScope()
InTransientScope()