I think you should not be using the LogManager.GetLogger(loggerName, loggerType)
overload. That overload is specifically for when you extend NLog by subclassing Logger. In that context, loggerType refers to the type of your subclassed logger. In your case, you are not subclassing Logger. Rather, you are wrapping it.
In your CommonLogger constructor, what object does the Type parameter refer to?
public CommonLogger(Type loggerType)
Is that actually the type of object that Castle is creating for you? That is, does that type correspond to one of your domain objects? As opposed to the actual type of the Logger to create? It seems to to since the error message says that GetLogger is trying to create an instance of LogInController.
Your CommonLogger constructor should probably look something like this:
public CommonLogger(Type typeOfObjectThatWantsALogger)
{
_logger = LogManager.GetLogger(typeOfObjectThatWantsALogger.FullName);
}
You might want to go to Castle's repository and look at how they implemented their NLog wrapper and the corresponding Resolver.