Я не думаю, что это возможно, потому что регистратор ничего не знает о классах и наследовании.Имя регистратора - это простое текстовое имя, например «abcd».Возможно, вы можете использовать класс подкласса в суперклассе, то есть вместо:
private static Logger logger = Logger.getLogger(SuperClass.class);
использовать:
private Logger logger = Logger.getLogger(getClass());
или вы можете использовать оба:
private Logger subLogger = Logger.getLogger(getClass());
private static Logger logger = Logger.getLogger(SuperClass.class);
тогда вы могли бы использовать более изощренную логику:
if(logger.isInfoEnabled() || subLogger.isInfoEnabled())
{
...
}
Но на вашем месте я бы не использовал эту магию, поскольку ведение журнала должно быть максимально простым (но не более простым).